neobundle.vim でプラグインの遅延読み込み

neobundle.vim ver.3 でプラグインの遅延読み込みが実装されているという事なので試してみました。
今までは :NeoBundleLazy したあとに任意のタイミングで :NeoBundleSource を行う必要があったのですが、それを neobundle.vim 側でいい感じに読みこんでくれるように設定してくれます。


[使い方]

autoload に任意の

時に自動的に :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 現在)