開発
Vimの起動を高速化する
Masato Yamamoto
こんにちは. アルバイトの山本です.
みなさん, エディタは何を使っていますか? Vimですか?
Vimを使い始めてしばらくするとプラギンをなんでもバンバン入れたくなる病にかかったのですが, 私だけですかね? そうすると, Vimの起動が遅くなっちゃうんですよね…そこでそれを高速化してみたいと思います.
Vimのプラギン管理に NeoBundleを使用しているとします.
NeoBundleでプラギンをインストールするのは良いのですが, 入れすぎると起動がもっさりしています. そこで NeoBundleLazyです. NeoBundleLazyはプラギンを遅延読み込みしてくれます.
NeoBundle ‘who/repository’ って書いてるところを, NeoBunldeLazy ‘who/respository’ , { “autoload” : { “filetypes” : [“hoge”] } } みたいな感じで autoloadの設定をしてあげるとその時になって始めてプラギンが読みこまれます.
これで遅延読みこみができるようになって適切に設定すると起動が速くなるのですが, もうちょっと考えてみます.
NeoBunldeはTOMLファイルをパースすることができるので, TOMLファイルを使ってプラギンを管理してみましょう.
call neobundle#begin(expand('~/.vim/bundle/')) if neobundle#load_cache() NeoBundleFetch 'Shougo/neobundle.vim' call neobundle#load_toml('~/.vim/neobundle.toml') call neobundle#load_toml('~/.vim/neobundlelazy.toml', {'lazy' :1} ) NeoBundleSaveCache endif call neobundle#end()
これで, ~/.vim/neobundle.toml以下に書かれたプラギンはそのまま, ~/.neobundlelazy.toml に書かれたプラギンは遅延読み込みされるようになります.
ちょっとこれで整理できた感じですかね.さらに, NeoBundleのTOMLパースは少し遅いので, キャッシュを利用することで高速化しています.
ちなみに, TOMLファイルの書き方はこちらを参考にするとよろしいかと思います.
TOML記法サンプル
これで少しは高速化できたと思います. もっと他にVimの高速化方法があったら教えてください. 実は最近, Vimを使うのをやめてNeoVimに移行してまた管理方法を変えたので現在この方法は使っていませんが, その話はまた今度…