Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does Vim load plugins after loading vimrc?

Tags:

I'm trying to override the highlight set in a plugin. The plugin does this:

highlight! link WordUnderTheCursor Underlined    

Firstly, I'm not aware that ! added to highlight does anything. But that's irrelevant.

Doing stuff like this in the vimrc

highlight clear WordUnderTheCursor                              highlight WordUnderTheCursor cterm=bold ctermfg=254 ctermbg=160 

Does not appear to affect the behavior.

Only when I directly modify the Underlined style (which feels wrong) in the vimrc, does the change apply.

Is this proof that the plugin is being run after the vimrc runs?

How might I unlink the style? I can't really tell if this is just the plugin doing something creative and unsupported, or if this is normal Vim behavior.

like image 728
Steven Lu Avatar asked Jul 16 '13 22:07

Steven Lu


People also ask

How does Vim-plug work?

vim-plug works by cloning each Git repository into the location specified by begin . After installing, you can find the example plugin in ~/. vim/plugged/vim-unimpaired . Installing plugins is done inside of Vim.

Where do Vim plugins go?

You can place Vim plugins in the ~/. vim/pack/vendor/start/plugin_name directory. Note that the plugin_name folder name will vary from plugin to plugin.


1 Answers

Yes. vimrc is loaded before plugins.

If you look at :h initialization you will find that step 3 is load vimrc and step 4 is load plugins.

You can also see that vimrc is loaded before plugins by looking at the output of :scriptnames. scriptnames lists all sourced scripts in the order they were sourced and vimrc is the first thing sourced. (Take a look at :h :scriptnames).


To fix the highlighting you just need to run the highlight commands after the plugin gets sourced. To do this you put files in the after directory of your .vim directory. (Take a look at :h after-directory)

So create the file .vim/after/plugin/hicursorwords.vim with the following contents

highlight clear WordUnderTheCursor                              highlight WordUnderTheCursor cterm=bold ctermfg=254 ctermbg=160 

This will cause the plugin to be sourced before you change the settings of the plugin.

(This of course assumes you don't want to edit the plugin)

like image 65
FDinoff Avatar answered Oct 04 '22 17:10

FDinoff