deinを真面目に設定してみる(TOML)
deinはvimrcに設定を書くだけでも使える。
しかし、一般的にはTOMLと呼ばれる外部ファイルに書くらしい。
TOMLファイルを利用する
とりあえずTOMLを使う準備をしよう。
init.vimに以下の記述を追加する。
set runtimepath+=~/.vim/dein/repos/github.com/Shougo/dein.vim let s:dein_dir = expand('~/.vim/dein') let s:toml_dir = expand('~/.config/nvim') "dein settings if dein#load_state(s:dein_dir) call dein#begin(s:dein_dir) "Load TOML let s:toml = s:toml_dir . '/dein.toml' let s:lazy_toml = s:toml_dir '/dein_lazy.toml' call dein#load_toml(s:toml, {'lazy': 0}) call dein#load_toml(s:lazy_toml, {'lazy': 1}) "finalize call dein#end() call dein#save_state() endif
この設定では、
となっている。必要に応じて該当箇所を変更すること。
起動時ロードと遅延ロード
次は、TOMLファイルに使いたいプラグインを列挙する。
ここで一つ注意する必要があるのが「遅延ロード」の存在だ。
今まで普通にdeinを使っていれば、プラグインは起動時にロードされていた。
しかし、「遅延ロード」を用いると、起動時より少し後にプラグインがロードされる。
これを用いることにより、起動時のロードを最小限にできることで起動速度が上がるらしい。
では、実際にTOMLを書いてみよう。
まずは起動時用。
# [dein.toml] #以下のようにレポジトリ名を書くだけで良い [[plugins]] repo = 'Shougo/dein.vim' [[plugins]] # Lighline repo = 'itchyny/lightline.vim' [[plugins]] # tender repo = 'jacoborus/tender.vim'
ここでは利用していないが、他にもカスタマイズができるらしい。
参考:dein.vimによるプラグイン管理のマイベストプラクティス - Qiita
次に、遅延ロード用。
# [dein_lazy.toml] [[plugins]] # deoplete repo = 'Shougo/deoplete.nvim' hook_post_source = ''' let g:deoplete#sources#clang#libclang_path = '/usr/lib/llvm-3.8/lib/libclang-3.8.so.1' let g:deoplete#sources#clang#clang_header = '/usr/include/clang' let g:deoplete#enable_at_startup = 1 ''' [[plugins]] # deoplete-clang repo = 'zchee/deoplete-clang'
基本は起動時用と同じだが、遅延ロードでは「hook_post_source」というオプションが利用できる。
これは、プラグインが遅延ロードされた直後に実行するコマンドを指定するものである。
プラグインの追加設定をiniv.vimに書くとロード前に実行されてしまうので、それを防ぐためにここに書く。
とりあえず導入だけをやってみた。
有り難みもそのうちわかってくるようになるんだろう、多分。