Vim の起動の何に時間がかかっているか調べ、改善する
環境
- MacOSX 10.14.5
- nvim 0.3.7
Vimの起動がもっさりな原因を調べる
現在は nvim を使っていますが、Vimを使いだしてからかれこれ10年近くが経過しています。
プラグインとかもマネージャは変わりつつもずっと昔から入れっぱなしの物もあるし、設定ファイルは継ぎ足し継ぎ足しなので、Vimの起動が結構もっさりするようになってしまいました。
起動がもっさりの原因を調査するために、何に時間がかかっているのかを調査しました。
プラグインの有無で起動時間を比較してみる
プラグインを無効化する —noplugin
オプションと —startuptime
オプションを使います。
後者の startuptime
を使うには vim が +startuptime
でコンパイルされている必要があります。私の環境(homebrewでインストールしたnvim)では初期状態で有効になっていました。
まずは、プラグインや自分で加えた設定を何も読み込まない状態、おそらく最も早いであろう状態を調べましょう。
$ nvim —noplugin —startuptime {filename}
この状態で私の環境の nvim は 300ms くらい起動にかかりました。体感速度的にも普段より少し早い気がします。それでは次に、プラグインなどすべて読み込んだ状態を測定してみましょう。
$ nvim —startuptime {filename}
上記のオプションで nvim を起動すると filename に指定したファイルに起動処理の間のメッセージや経過時間を出力してくれます。この状態で私の nvim は 360ms ~ 1707ms かかっていました。
少々幅がありますが、毎回時間が書かているのはどうやら clipboard.vim の読み込みのようです。
309.745 233.180 233.180: sourcing /usr/local/Cellar/neovim/0.3.7_1/share/nvim/runtime/autoload/provider/clipboard.vim 310.345 234.289 001.109: sourcing /Users/kawa/.vim/dein/.cache/init.vim/.dein/plugin/fakeclip.vim
fakeclip.vim は環境的にもう無くても何ら問題ないことがわかったので、削除しましたが、一つ上の clipboard.vim は nvim 標準の機能のようなのでこれ以上の起動高速化はむりと思われます。
後日時間を取ってさらに調査してみよう。