How to initialize plugins

From Vim Tips Wiki

Jump to: navigation, search
Tip 411 Printable Monobook Previous Next

created 2003 · complexity basic · author Charles E. Campbell, Jr. · version 6.0

Plugins have three basic ways of being initialized:

a. Via some variable that the plugin script uses; the initialization here is obvious -- set the desired variables in your vimrc (or use an appropriate autocmd to do so).

b. Via a map or function call. The problem here is that vimrc is sourced prior to plugin sourcing, so the map or function call isn't available yet.

c. Via a command. Like (b), the vimrc is sourced prior to the plugin being sourced, so the command isn't available yet.

Solution: put in .vim/after/plugin a file of the same name as the plugin you're initializing. In that file put

Maps         : norm TheInitializationMap
Function call: call TheInitializationFunction()
Command      : TheInitializationCommand

For example, the <HiMtchBrkt.vim> script which supports the highlighting of matching brackets as you move onto a bracket is not on by default. Normally it requires one to type \[i to start it. However, if you'd like to have the script to start enabled, then put

norm \[i

into the file .vim/after/plugin/HiMtchBrkt.vim.

Windows users: Change .vim to _vimfiles and / to \ in the tip above.

[edit] Comments

I've successfully used this approach to have SeeTab.vim automatically load by putting in the line:

execute "SeeTab"

in my after\plugin\SeeTab.vim file with the original SeeTab.vim file in plugin\SeeTab.vim.

This works ok while gvim is open, but I get an error message when exiting:

"E254: Cannot allocate color ."

How can I make this error not show up?

If I don't auto-load using the execute line, but instead type in the "SeeTab" command after gvim starts, then the error does not appear when exiting.

I'm using gvim 6.3 on WinXP. I'm also using blockhl.vim if that might be causing any conflicts.

Personal tools