neobundle.vim でプラグインの遅延読み込み
neobundle.vim ver.3 でプラグインの遅延読み込みが実装されているという事なので試してみました。
今までは :NeoBundleLazy したあとに任意のタイミングで :NeoBundleSource を行う必要があったのですが、それを neobundle.vim 側でいい感じに読みこんでくれるように設定してくれます。
[使い方]
autoload に任意の
- コマンド
- キーマッピング
- 関数
- filetype
時に自動的に :NeoBundleSource を行うようにすることができます。
" VimFiler、VimFilerTab、VimFilerExplorer コマンドが呼び出された時に自動的に " :NeoBundleSource vimfiler " が呼び出されて vimfiler のコマンドとして処理される NeoBundleLazy 'Shougo/vimfiler', { \ 'autoload' : { 'commands' : [ "VimFilerTab", "VimFiler", "VimFilerExplorer" ] } \} " 上記と同様 NeoBundleLazy 'Shougo/vimshell', { \ 'autoload' : { 'commands' : [ 'VimShell', "VimShellPop", "VimShellInteractive" ] } \} " set filetype=c,cpp " された時に " :NeoBundleSource が処理される NeoBundleLazy "Rip-Rip/clang_complete", { \ "autoload" : { "filetypes" : ["c", "cpp"] } \} " 各 autoload 関数が呼び出された際に処理される NeoBundleLazy "ryutorion/vim-itunes", { \ 'autoload' : {'functions' : ["itunes#pause", "itunes#play", "itunes#stop", "itunes#prev", "itunes#next"] }, \} " どれかのキーマッピングが呼び出されるまで itunes.vim は読み込まれない nnoremap <expr> <Space>i<Space> itunes#pause() nnoremap <expr> <Space>ip itunes#play() nnoremap <expr> <Space>is itunes#stop() nnoremap <expr> <Space>ih itunes#prev() nnoremap <expr> <Space>il itunes#next() " 複数設定することもできる NeoBundleLazy "tyru/open-browser.vim", { \ "type" : "nosync", \ 'autoload' : { \ 'functions' : "OpenBrowser", \ 'commands' : "OpenBrowserSearch", \ 'mappings' : "<Plug>(openbrowser-smart-search)" \ }, \}
こんな感じで設定することができます。
詳しくは
;help neobundle-options-autoload
を参照してください。
便利。
[注意点]
NeoBundleLazy しただけでは help できないので注意してください。
あとコマンドの補完も。
(2013/01/02 現在)