pathogen.vimでスクリプトの管理
pathogen.vimはvimプラグインの管理をするのに便利なvimプラグイン。
導入などはhttp://d.hatena.ne.jp/mkataigi/20101107/1289134775 や http://d.hatena.ne.jp/ksmemo/20110111/p1 に書いてくれている人が居るので省略する。
全てのプラグインにgitレポジトリがあれば*1gitのsubmoduleを利用すれば自動で更新が出来るのだけど、mercurialで管理されていたり、vba、zipなどのアーカイブで配布されているものもある。そして、vimprocのように再makeする必要のあるものもある。
そういうものの管理は今までは手動でやってきたけれど、スクリプトを書いて自動化してみた。
#/bin/sh BUNDLE=~/.vim/bundle cd $BUNDLE for nm in * do if [ -d "$BUNDLE/$nm" ] ; then cd "$BUNDLE/$nm" echo "update $nm" case $nm in *.git) git pull ;; *.hg) hg pull ;; *.script) $BUNDLE/${nm}.update ;; *.manual) echo "please update manually." ;; *) echo "can't determine the way to update." ;; esac if [ -f "$BUNDLE/$nm.after" ] ; then $BUNDLE/${nm}.after fi cd .. fi done
全てのプラグインを統一的に扱うために、git submoduleの利用はやめて、プラグインの格納されているディレクトリ名の末尾でレポジトリの種類を.hgや.gitのように表すようにした。
更新した後で別のプログラムを走らせなくてはいけないときは、プラグインの格納されているディレクトリ名の末尾に.afterをつけた名前のファイルが実行されるようにした。