为什么vim不能识别vimrc中的插件命令,但它会在运行时识别它?

Jor*_*dan 0 vim vim-plugin pathogen

我已经安装了带病原体的vim-gitgutter插件.我可以:GitGutterLineHighlightsEnable从内部键入,并打开线条高亮,很棒.

但我希望在启动时自动启用行高亮,所以我将命令添加到了我的~/.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
Run Code Online (Sandbox Code Playgroud)

Jor*_*dan 7

弄清楚了。

.vimrc插件加载之前执行。从这个相关问题,我将命令更改为:

autocmd VimEnter * GitGutterLineHighlightsEnable
Run Code Online (Sandbox Code Playgroud)

这将在 vim 启动后执行命令。


rol*_*lnn 6

使用

let g:gitgutter_highlight_lines = 1

代替

GitGutterLineHighlightsEnable


Ben*_*Ben 5

正如您自己确定的那样,插件在 .vimrc 之后处理。

如果你不喜欢使用 VimEnter 自动命令,你可以做的是在你的 ~/.vim/after/plugin 目录中放置一个文件,用于加载插件后应该运行的任何命令。