neobundleで遅延読み込み時に処理

久しぶりにvimの設定を触ることにしたのでメモ

あるプラグインでしか必要のない設定はその読み込み時に処理したい。そのような場合例えば以下のように書ける。

NeoBundleLazy 'Shougo/unite.vim', {
    \ 'autoload': { 'commands': ['Unite'] }
\}
let s:bundle = neobundle#get("unite.vim")
function! s:bundle.hooks.on_source(bundle)
    let g:unite_source_grep_max_candidates = 200        
endfunction
unlet s:bundle

プラグインの遅延読み込みが実行された際にhooks.on_sourceがcallされる。
ちなみに上記でunite.vimの読み込みを遅延読み込みしなかった場合でもhooks.on_source関数が呼ばれるようになっている。

参考ページ
:NeoBundle 時にも on_source でプラグインの初期化処理をする - C++でゲームプログラミング