けいぞうのメモ帳

言語設計のお勉強

NeoBundleLazy の設定をしてみた

 golang , scala など、vim の標準にまだ syntax がない言語を触り始めました。
もちろんvim でやるために syntax などをNeoBundle してもってきていますが、
だんだんと vim が重くなってきてvim を開くのにワンテンポ遅れるようになりました。
 これはいけないと neobundle.vim の機能に遅延ロードなるものがあったような気がしたのでちょちょいといじって使ってみます。その備忘録。

NeoBundleLazy

 調べてみますと、NeoBundleLazy をすれば特定条件でのみ読み込み するようにできるらしいです。ちょっとやっていましょう。

NeoBundleLazy 'mattn/emmet-vim',{
                          \"autoload" : {"filetypes" :[ "html" ]}
                          \}

  NeoBundleLazy 'vim-jp/cpp-vim',{
                           \"autoload" : {"filetypes" :[ "cpp" ]}
                           \}

  NeoBundleLazy 'derekwyatt/vim-scala',{
                          \"autoload" : {"filetypes" :["scala"]}
                          \}

  NeoBundleLazy 'jnwhiteh/vim-golang',{
                          \ "autoload" : {"filetypes" : ["go"]}
                          \}

とりあえず、自分の使っているプラグインで使うタイミングが限られるやつだけをNeoBundleLazyしました。体感的に少し開くのが早くなったような気がします。

vim --startuptime を使えば比較できるのでしょうが、ちょっとめんどくさいのでまた今度、結果だけ貼っつけます。
正直、 vim --startuptime したファイルの読み方がよくわからんとです。
一番遅くなる原因は calendar.vim なんだけどね! 

参考

NeoBundle バンドルの更新とファイルタイプ別バンドル読み込み - 断章10100

neobundle.vim でプラグインの遅延読み込み - C++でゲームプログラミング

:help NeoBundleLazy

NeoBundleどんだけ便利なんだと思いつつ、Shougo氏の githubにある vimrc を見てみると他にも使いようがあるみたいでなかなか奥が深いです NeoBundle.vim
というか Neo 系vim プラグイン