NeoBundle から dein.vim に乗り換えた
職場の方から教えてもらい、何やら早いらしいので変えてみました。
下記の記事に紹介されていますが、NeoBundle とくらべて30% 以上速くなったそうな。
NeoBundle から dein.vim に乗り換えたら爆速だった話 - Qiita
自分も NeoBundle に不満はなかったのですが、プラグインが多くなってくるともっさりすんなーって思っていたので、早いという話を聞いた瞬間に試してみようと思いました。
NeoBundle の開発はもう終わっていますしね!
NeoBundle development is done. I have replaced to dein.vim. Dein.vim is faster and well tested. And it implements neovim asynchronous installer.
https://www.reddit.com/r/vim/comments/47qbv9/neobundle_on_hiatus_or_done/d0fcdel/
下記では簡単な設定方法と詰まった所などご紹介します。
導入
vim のバージョン確認。 7.3 以下だと動かないです。これは気づきにくい所なので注意。動かないことは call dein#begin
すれば確認できます。後ほど説明します。
$ vim --version
(7.3以下の場合)vim のアップデート
osx :
$ brew install vim
ubuntu 14.04 :
$ sudo add-apt-repository ppa:pkg-vim/vim-daily
$ sudo apt-get update
$ sudo apt-get install vim
echo export PATH='/usr/local/bin:$PATH' >> [.zshrc , .bashrc 等]
brew install したら
/usr/local/bin
にインストールされるので
普通に .zshrc をいじって /usr/local/bin を先に読み込むように変えてもOKです。
.vimrc をいじります。まるまる下記からもってきました。
https://qiita.com/delphinus/items/00ff2c0ba972c6e41542
let s:dein_dir = expand('~/.cache/dein') " dein.vim 本体 let s:dein_repo_dir = s:dein_dir . '/repos/github.com/Shougo/dein.vim' " dein.vim がなければ github から落としてくる if &runtimepath !~# '/dein.vim' if !isdirectory(s:dein_repo_dir) execute '!git clone https://github.com/Shougo/dein.vim' s:dein_repo_dir endif execute 'set runtimepath^=' . fnamemodify(s:dein_repo_dir, ':p') endif " 設定開始 if dein#load_state(s:dein_dir) call dein#begin(s:dein_dir) " プラグインリストを収めた TOML ファイル " 予め TOML ファイル(後述)を用意しておく let g:rc_dir = expand('~/.vim/rc') let s:toml = g:rc_dir . '/dein.toml' let s:lazy_toml = g:rc_dir . '/dein_lazy.toml' " TOML を読み込み、キャッシュしておく call dein#load_toml(s:toml, {'lazy': 0}) call dein#load_toml(s:lazy_toml, {'lazy': 1}) " 設定終了 call dein#end() call dein#save_state() endif " もし、未インストールものものがあったらインストール if dein#check_install() call dein#install() endif
この設定ですが、ここで dein.vim の強力な機能が垣間見えます。
Plugin を別ファイルで toml 形式で書けることです。
TOML といえば GitHub が作ったフォーマットで、Mackerel の設定ファイルもTOML 形式で書いたりなど、最近普及されてるような気がします。
toml ファイルですが、読み込み方に
{'lazy': 0}
{'lazy': 1}
の2つがあり、これは遅延ロードするかどうかです。
書き方に関しては
NeoBundle から dein.vim に乗り換えたら爆速だった話 - Qiita
を参考にしてください∠(`・ω・´)
という全然役にたたない情報ですが、
なにか新しい発見があったら追記しますw