为什么vim不会识别vimrc中的插件命令,但它在运行时会识别它?
问题描述:
我已经安装了带病原体的vim-gitgutter plugin。 我可以在vim中键入:GitGutterLineHighlightsEnable
,并且线条亮点打开,很棒。为什么vim不会识别vimrc中的插件命令,但它在运行时会识别它?
但是我想让行高亮在启动时自动启用,所以我将该命令添加到我的~/.vimrc
。但是当我启动vim时,我会得到“E492:不是编辑器命令:GitGutterLineHighlightsEnable”。一旦vim启动,我可以运行该命令。
我的vimrc看起来是这样的:
execute pathogen#infect()
colorscheme railscasts
.. snip tabs and colors etc ..
GitGutterLineHighlightsEnable
hi GitGutterAddLine guibg=#222F22
hi GitGutterChangeLine guibg=#222239
hi GitGutterDeleteLine guibg=#2F2222
答
当你确定自己,插件.vimrc里后处理。
如果您不喜欢使用VimEnter autocmd,您可以执行的操作是将文件放入您的〜/ .vim/after/plugin目录中,以便加载插件后运行的任何命令。
答
想通了。
.vimrc被执行之前插件被加载。从this related question,我将命令更改为:
autocmd VimEnter * GitGutterLineHighlightsEnable
这会在vim启动后执行命令。
答
使用
let g:gitgutter_highlight_lines = 1
代替
GitGutterLineHighlightsEnable