neobundle.vim で Lazy したコマンドの引数を補完する

:NeoBundleLazy では次のように設定することで設定したコマンドが呼び出された時に自動的に :NeoBundleSource を行なってくれます。

" :Unite が呼び出された時に自動的に
" :NeoBundleSource unite.vim
" が呼び出される
NeoBundleLazy "Shougo/unite.vim", {
\   'autoload' : { 'commands' : [ 'Unite' ] }
\}


さて、上記のような設定では :NeoBundleSource を行う前でも :Unite コマンド自体は使用することが出来るのですが :Unite コマンドの引数を補完する事はできません。
コマンドの引数を補完したい場合は次のように complete を設定する必要があります。

" complete に補完に必要な関数を登録する
" ここに渡す値は command の -complete と同じ
" :help :command-complete
NeoBundleLazy "Shougo/unite.vim", {
\   'autoload' : {
\       'commands' : [
\           {
\               "name" : "Unite",
\               "complete" : "customlist,unite#complete_source"
\           },
\       ]
\   }
\}


上記のように設定することで :Unite コマンドの補完時に :NeoBundleSource が呼び出されて補完を行うことが出来ます。
また補完を呼び出すと :Unite コマンドを呼び出す前に :NeoBundleSource が呼び出されるので注意して下さい。