Why won't vim recognise a plugin command in the vimrc, but it will recognise it when running?

StackOverflow https://stackoverflow.com/questions/21322520

  •  02-10-2022
  •  | 
  •  

Question

I've installed the vim-gitgutter plugin with pathogen. I can type :GitGutterLineHighlightsEnable from inside vim and line highlights are turned on, great.

But I want line highlights to be automatically enabled at startup, so I added the command to my ~/.vimrc. However when I start vim, I get "E492: Not an editor command: GitGutterLineHighlightsEnable". Once vim has started up, I can run the command.

My vimrc looks like this:

execute pathogen#infect()
colorscheme railscasts

  .. snip tabs and colors etc ..

GitGutterLineHighlightsEnable
hi GitGutterAddLine guibg=#222F22
hi GitGutterChangeLine guibg=#222239
hi GitGutterDeleteLine guibg=#2F2222
Was it helpful?

Solution 3

As you determined yourself, plugins are processed after the .vimrc.

What you can do if you don't like using a VimEnter autocmd, is put a file in your ~/.vim/after/plugin directory for any commands that should run after plugins are loaded.

OTHER TIPS

Figured it out.

.vimrc is executed before plugins are loaded. From this related question, I changed the commands to:

autocmd VimEnter * GitGutterLineHighlightsEnable

This executes the command after vim has started up.

Use

let g:gitgutter_highlight_lines = 1

instead of

GitGutterLineHighlightsEnable

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top