Vim Tips Wiki
No edit summary
(formatting fixup)
Line 22: Line 22:
 
Solution: put in <tt>.vim/after/plugin</tt> a file of the same name as the plugin you're initializing. In that file put
 
Solution: put in <tt>.vim/after/plugin</tt> a file of the same name as the plugin you're initializing. In that file put
   
 
Maps : norm TheInitializationMap
<tt>
 
 
Function call: call TheInitializationFunction()
Maps : norm TheInitializationMap<br>
 
 
Command : TheInitializationCommand
Function call: call TheInitializationFunction()<br>
 
Command : TheInitializationCommand
 
</tt>
 
   
 
For example, the &lt;<tt>HiMtchBrkt.vim</tt>&gt; 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 <tt>\[i</tt> to start it. However, if you'd like to have the script to start enabled, then put
 
For example, the &lt;<tt>HiMtchBrkt.vim</tt>&gt; 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 <tt>\[i</tt> to start it. However, if you'd like to have the script to start enabled, then put

Revision as of 17:26, 19 August 2008

Tip 411 Printable Monobook Previous Next

created January 23, 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> (see VimTip177).

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

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.