今までpathogen.vimを使っていたのをneobundle.vimに乗り換えてみました。
Vundleとかneobundle.vim使ってなかったのはpathogenで今そんな困ってないしなーって思ってたうえに、試しにやってみよっかなーって思った時になんかめんどくさそうだったからですね。
でneobundleの解説とか読んだりしてると今の環境より恩恵得られそうだったので重い腰をあげて移行した。
移行作業
~/.vim/bundle/ 下を全部消して、.vimrcのpathogenの設定消して、~/.vim/bundle/ の下にneobundle.vimもってきて、.vimrcにneobundleの設定書いて:NeoBundleInstallでフィニッシュした。
変わったこと
pluginインストールの管理がgit submoduleから.vimrcへの記述になった。これがなにげに嬉しい。
.vim/以下もgithubで管理してるのですがpublicなプラグイン以外に社内だけで使うプラグインとかもあって、もちろん公開できないのでそこのリポジトリに含めることができない。今まではローカル環境でブランチ分けて更新があったらうまい具合にマージしてとかなんかそんなめんどくさいやり方で運用してた。
この運用は間違ってgithubに社内用のプラグインとか含めてしまってコミットとかしたらいけないとか考えつつの精神的負担が結構大きかった。結局社内で使う分にはsshじゃなくてgitプロトコルのにしたからその心配はなくなったけど。
でneobundleだと個別環境用の.vimrc.local(.vimrcから読み込むやつ)に社内用のプラグインを書いておくだけで綺麗に分けられるのでだいぶシュッとした。管理部分に無駄なコスト払わなくて済むようになったので嬉しい。
あと~/.vim/bundle/下をリポジトリに含めないようにした。環境毎にupdateして使えば良い。
困ったこと
neobundle自体の管理をどうしようか少し考えた。
というのもまっさらなとこに環境構築する時に最初にneobundleが入ってないと他のプラグインはインストールすることができない。bundleの下はリポジトリに含めないようにしたので違うpathにsubmoduleとして入れておこうかなと思ったけど、neobundle自体もbundle下に入れてupdateとかできるようにしときたい。問題はこの初回時のみ。
で結局この問題は.vim/とか.vimrcで解決するのではなくて.vimのセットアップ用スクリプトのほうで解決するようにした。いつもdot_filesまわりの設定とか.vim/やらvim本体のインストールとかを簡単にできるようにするために用意してるスクリプト。
.vim/のセットアップ部分だと
#!/bin/sh cd if [ -d ./.vim ]; then echo "already exists! $HOME/.vim" exit; fi git clone git://github.com/dameninngenn/.vim.git cd .vim git submodule init git submodule update mkdir bundle cd bundle git clone git://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim vim +NeoBundleInstall +q cd if [ ! -d ./tmp ]; then mkdir tmp fi echo "finished setup vim plugins"
こんな感じでとりあえず初回時にneobundleをbundleの下に放り込んでNeoBundleInstall走らせる。
他の人がどうしてるのかは気になる。
ニッコリ
submoduleでの管理だとプラグインのupdateとかなんか気が進まない感じだったけど何か解放された感がある。
色々気楽になった感じがするので捗りそう。