neobundle.vim でプラグインが読み込まれた時に処理を hook する
neobundle.vim でプラグインが読み込まれた時に処理を hook することができるようになりました。
neobundle#get 関数を使用して hook することができます。
" vimshell だとこんな感じ let s:bundle = neobundle#get("vimshell") " hooks の初期化 let s:bundle.hooks = get(s:bundle, "hooks", {}) " source 後に呼び出される処理を記述する function! s:bundle.hooks.on_source(bundle) let g:vimshell_split_command = "split" " 表示形式 let g:vimshell_prompt = $VIMUSERNAME."% " MyAutocmd FileType int-* \ inoremap <buffer> <expr><silent> <C-l> unite#sources#vimshell_history#start_complete(0) endfunction unlet s:bundle " キーマッピングからコマンドの呼び出し nnoremap <silent> <Space>vs VimShell nnoremap <silent> <Space>vsi VimShellInteractive --split='split \| resize 12'<CR> " コマンドが呼ばれるまでプラグインが読み込まれずに上記の初期設定も処理されない NeoBundleLazy 'Shougo/vimshell', { \ 'autoload' : { 'commands' : [ 'VimShell', "VimShellPop", "VimShellInteractive" ] } \}
こんな感じでプラグインの初期化処理も遅延処理することができるようになりました。