Vi & Vim

使用vi和Vim系列文本编辑器的人员的问答

2
如何将源代码文件转换为HTML?
我有一个用编程语言(例如PHP)编写的源代码文件,我想将其转换为HTML文件,因此我可以将其发布在Web上以便共享我的代码。 转换是指,例如,将新行转换为<br>标签,以便文本在文本编辑器和Web浏览器中都保持相同的格式。理想情况下,它还应保留语法突出显示,以便可以打印。 这在Vim中可以实现吗?如果是这样,怎么办?

9
Colorscheme的背景在终端中不正确
我导入了日光化的色彩和调色板。我的终端具有正确的颜色和背景,gvim具有正确的颜色和背景,但是vim的背景颜色不正确。文本都是正确的,但背景似乎是纯黑色的。 这是我的.vimrc: syntax enable if has('gui_running') set background=dark else set background=dark endif :set t_Co=256 let g:solarized_termcolors=256 colorscheme solarized 如果有人对可能导致此问题的任何建议,我将非常有义务。我使用默认终端运行xubuntu。 我还应该提到,浅色选项会导致Vim的背景非常黄。

1
可以使vim语法区域接触/重叠吗?
所以不久前,我决定通过创建自己的文件来学习更多有关vim语法文件如何工作的信息。我的目标是创建一个简单的语法文件,该文件将基于定界符将文件分为3个部分,并包括这三个部分中两个部分的预先存在的语法文件。 这是一个示例文件: Some text, unstyled ==================== Log (Output of git log) ==================== Diff (Output of diff) 目标是git.vim仅应用于日志,仅应用于diff.vim差异,不包括两个标头。1 这是我的语法文件最终看起来像: if exists("b:current_syntax") finish endif syntax include @gitlog $VIMRUNTIME/syntax/git.vim syntax region GitLog \ start=/^===* Log/ \ end=/^===* Diff/ \ contains=@gitlog syntax include @gitdiff $VIMRUNTIME/syntax/diff.vim syntax region Diff \ start=/^===* Diff/ \ end=/\n\n/ \ …

2
升起持有交换文件的窗口
不时地在多个项目上工作,和/或无论如何,它使我打开了(过多的)Vim实例–碰巧,我打开了一个已经在其他地方打开的文件,让我可以选择: [O]pen Read-only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort 是否有一些内置的方式来引发实例(如在GUI /终端中)以保存打开的文件?理想情况下,将有问题的文件带到前台(如果有多个缓冲区)。 到目前为止,我正在使用从交换中提取PID的bash脚本,检查该PID是否属于Vim,如果是,则wmctrl用于引发窗口。虽然这很好用,至少在GUI和X11 Linux上有效,但我想知道是否还有更本机的方法。
13 swap-file  x11  linux 



1
用python3编译的Vim,但是has('python')返回0
我只是按照以下说明用python 3编译vim:https : //github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source 安装后,我检查是否有python3: vim --version | grep "python" 哪个返回: +python3/dyn 和 +python/dyn 但是,当我启动vim并键入followinf命令之一时,我得到了0: :echo has('python3/dyn') :echo has('python3') :echo has('python') :echo has('python/dyn') 有人遇到过类似的问题吗? 编辑:大家好,我想说声谢谢,让你们知道我为解决这个问题做了些什么。我从提供的第一个链接中再次遵循了该说明,但是这次我删除了vim.tiny,而不是试图使vim同时支持python2和python3,我只是使用python3支持进行构建。这解决了 打字 python3 print("works") 在vim中显示works。打字 echo has('python3') 给我一个输出,1最后 vim --version | grep python3 给我一个价值 +python3 谢谢大家的帮助和建议!!

2
Vim为什么将最大文本宽度设置为79而不是80?
我对Vim中的一些默认值有些疑惑。特别是对于gq{motion},据说 [...] If the 'textwidth' option is 0, the formatted line length is the screen width (with a maximum width of 79). 我认为,如果将最大宽度设置为,应该更有意义80。 有人可以启发我吗?我想我缺少了一些东西。
13 formatting 

1
python块运动结束
我需要一个移动到python块结束/开始的动作,并且我需要另一个移动到上一个/下一个方法/类(所有组合)的开始/结束的动作。 我已经尝试过vim-indent-object,python-mode,chapa,vim-python-object等。它们都不支持块结尾,也都不支持上述动作的所有组合。 我记得曾几何时我有一个插件提供]],[[,][和[]运动的begining一个/下一个方法/班/结束,但在我插上目录我找不到它(搜索“] [”和“[]”在我插入的目录中并分析了所有出现的情况,但未找到定义“] [”或“ []”的任何内容)。 您知道我以前使用的插件吗?您知道提供此功能的任何插件吗?

3
如何找出键映射到什么?
我知道运行:map不带参数的命令应该给我一个用户定义的映射列表,但是,例如,当我按Ctrl-W Ctrl-I时,发生了一些事情,但我不知道内置映射只是发生了什么功能不要出现在:map命令中。 我如何找出钥匙的作用?



2
:nohlsearch和:set nohlsearch之间的功能区别是什么?
我注意到当我使用:nohlsearch它时,它实际上并没有执行与相同的操作:set nohlsearch。 特别是,hlsearch设置实际上并没有关闭(即:set hlsearch完成)。 为了说明我的意思: :set hlsearch :nohlsearch :echo &hlsearch 此打印1(hlsearch仍然设置!) :set hlsearch :set nohlsearch :echo &hlsearch 0之所以打印出来,是因为我们使用了在vim中关闭设置的标准方法来关闭了hlsearch。 所以我有点纳闷,因为:nohlsearchex命令必须存在一些实际原因。 我关心的原因是,我现在需要在vim脚本中测试搜索突出显示是否处于活动状态,并且由于我:nohlsearch在其他脚本中使用的不是“:set nohlsearch”,所以&hlsearch测试始终返回1。因此,我想知道不再通过使用nohlsearchex命令来进行更改。
13 search  highlight 

1
按正则表达式搜索模式折叠
我得到了一个纯文本文件,其中用空格分隔值的列。像这样: AU 3030 .... ... .... AU 3031 .... ... .... AU 3032 .... ... .... AU 3033 .... ... .... IT 48100 ... .. ..... IT 40100 ... .. ..... IT 48123 ... .. ..... UK 3333 ... ... ..... UK 4444 ... ... ..... UK 5555 ... ... …

2
如何在:命令中转义整个字符串?
让我们来看看。我gvim正在跑步,我想打开一个文件,遵守autocmd s(排除--remote-tab)。 现在我知道我可以做(基本上是通过一些调整): gvim --remote-send ":tabe my_file<CR>" 哪个有效。但是,如果文件中包含空格或奇怪的字符,则必须执行以下操作: gvim --remote-send ":tabe my\\ file<CR>" (双重\\是因为其中一个被外壳吃掉了;这等效于手动键入 `:tabe my\ file` 在vim它的作品)。现在,我可以找到一种在shell或其他东西中创建该字符串的方法,但是我希望可以在“:tabe”命令中对该字符串进行“全局引用”,例如 gvim --remote-send ":tabe 'my file'<CR>" 要么 gvim --remote-send ":tabe \"my file\"<CR>" ---等同于直接在vim命令行中编写:tabe "my file";似乎没有用。我可以用Shell显式引用字符串中的所有空格,例如 # <ESC> because the gvim instance can be in a mode different from normal # the double CR: …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.