我一直在探索在 VIM 中自动将结束字符附加到一行代码的方法。就我而言,它是 CSS。我遇到了这个提示http://vim.wikia.com/wiki/Automatically_append_closing_characters并调整了它告诉我添加到我的.vimrc
喜欢的代码
inoremap { {}<Left>
inoremap {<CR> {<CR>}<Esc>O
inoremap {{ {
inoremap {} {}
所以当我写
body
然后快速按 { 和 ENTER 结果是什么
body {
}
请注意,光标将缩进并位于第 2 行,因此我将准备在该块中编写代码。
另外我应该提到我还在我的.vimrc
inoremap :: :;<Left>
这样当我快速连续键入 : 和 : 时,我会得到:;
位于和之间的:
光标;
。这正是我想成为的地方,因此我可以立即开始编写代码。
我做得很好,但我很快意识到我安装的自动完成插件(AutoComplPop VIM 插件http://www.vim.org/scripts/script.php?script_id=1879)与上述.vimrc
调整冲突。
例如,如果我开始写作,color
我会得到所有选项的下拉自动完成下拉菜单。问题是选项color
实际上是color:
.
您会看到它已经添加了一个冒号,所以当我选择它时,冒号已经存在,然后我必须手动添加结束;
字符。这基本上破坏了将自动附加结束字符代码添加到 my 的整个目的,.vimrc
因为在这种情况下,它不会自动附加结束分号。
那么如何对 VIM 的 Omni Completion 进行自定义编辑,以便所有 CSS 属性不以冒号结尾?
VIM 的 CSS 自动完成选项,在这里遇到了 AutoComplPop http://www.vim.org/scripts/script.php?script_id=1879