前置き
私の重装系vimは、プラグインは40個、vimrcは300行超えのカスタマイズを施してます。
当然、素のvimと比べると明らかに起動が遅い。
プラグインはマネージャに搭載された遅延ロードを使うことで起動の短縮を図ってます。
用意されてる分では足りなかったので、自分で色々試して更に遅延ロードをかけてます。
(参照:https://qiita.com/M4s0n/items/d251a90e4a71d67444dd)
第3世代のエディタが勢力を伸ばす昨今。
盲目にvimを愛する私は、さらなる高みを目指してvimの起動時間を短縮するべく
タイマー機能を活用し、起動を爆速にしました。
環境
vim8
下調べ
先ず、起動時のボトルネックを探りました。
Plug 'mattn/benchvimrc-vim'
上記プラグインを使用すると幾つかボトルネックを発見しました。
python3 from powerline.vim import setup as powerline_setup
python3 powerline_setup()python3 del powerline_setup
set undodir=~/.vim/undo
set undofile
大きく分けて2つ
- vimのステータスラインに使用しているPowerline
- ファイルを閉じても、以前のundoが使えるようにする設定
遅延ろぉぉぉぉおおど
みんな大好き遅延ロード。
vim8から搭載されたタイマー機能を使って、vim起動後にボトルネックだった設定を読み込ませる。
function!s:lazy_load(timer)python3 from powerline.vim import setup as powerline_setup
python3 powerline_setup()python3 del powerline_setup
echo 'Powerline Loaded'set undodir=~/.vim/undo
set undofile
endfunction" vim起動後、100ミリ秒後にcallされるcall timer_start(100,function("s:lazy_load"))
functionに遅延ロードしたいものを突っ込むだけの荒業。
後は、時間を設定してタイマーをコールするだけであら不思議。
起動が爆速になりました。
まとめ
全部が全部遅延ロード出来るわけではないですが、
遅延して問題ないものはタイマー機能を使ってロードすると、
ちょっぴり幸せになれます。
参考
- vimrcのベンチマークを計るプラグイン