NeoBundleがTOML1 parserを導入して、TOMLファイルにプラグイン管理を任せられるようになった。
設定ファイルのサンプル
vimrcの設定は、ドキュメントとShougo氏のvimrc2を参考にすると、neobundle#begin
〜neobundle#end
の間を以下のように書けば良さそうだ。
call neobundle#begin(expand('~/.vim/bundle/'))
if neobundle#has_cache()
" キャッシュから高速に起動
NeoBundleLoadCache
else
NeoBundleFetch 'Shougo/neobundle.vim'
" TOMLファイルを指定
call neobundle#load_toml('~/.vim/neobundle.toml')
" NeoBundleLazyで指定した場合と同じ
call neobundle#load_toml('~/.vim/neobundlelazy.toml', {'lazy' : 1} )
" TOMLパーサが遅いため、一度読み込んだ設定をキャッシュに保存
NeoBundleSaveCache
endif
call neobundle#end()
2015/09/20 追記:
上記の設定は古くなっており、 neobundle#has_cache()
と NeoBundleLoadCache
の併用に代わり、 neobundle#load_cache()
を使った、より簡潔な記述が推奨されている。
--- if neobundle#has_cache()
--- " キャッシュから高速に起動
--- NeoBundleLoadCache
--- else
+++ if neobundle#load_cache()
追記ここまで。
vimrcに書かれていた大量のプラグインリストは、neobundle#load_toml
のおかげでたった数行に収められた。
ちなみに、遅延読み込みしたいプラグインとそうでないプラグインがある場合、1つのTOMLファイルだと管理が難しかったので、2つに分けている。 他により良い方法があったらご教授願いたい。
TOMLファイルは以下のように設定する。これもShougo氏によるサンプル3があるので参考にされたい。
[[plugins]]
repository = 'ctrlpvim/ctrlp.vim'
[[plugins]]
repository = 'Shougo/neocomplete.vim'
insert = 1
[[plugins]]
repository = 'osyo-manga/vim-watchdogs'
depends = ['osyo-manga/shabadou.vim', 'cohama/vim-hier']
filetypes = 'all'
その他細かな設定に関しては、私のvimrcを参考にしてもらうと良いかもしれない。 割と更新頻度が高いのと、あまり綺麗に管理出来てないのはご容赦。
終わりに
NeoBundle 'user/repo'
やNeoBundleLazy 'user/repo', { ... }
でvimrcはどんどん縦に長くなっていたが、TOMLファイルに書き出すことで、vimrcをスッキリ整理できた。
最近は更に、vimrcに書く設定は最小限に留めるようにして、プラグインの設定はplugins.rc.vim
に書くように切り替えた。
if filereadable(expand('~/.vim/plugins.rc.vim'))
source ~/.vim/plugins.rc.vim
endif
以前はvimrcがジャングルみたいでやる気が起きなかったが、スッキリさせたおかげで、遅延読み込みを活用して、Vimの起動をもっと高速化させてみようとか考えるようになってきた。
エディタいじりは飽きないなあ。