サーバーに2つのバージョンの異なるvimがインストールされていた。 パッケージで入れられるバージョンが古かったので、自前コンパイルして入れられたものなのか、と予想するが理由はどうでも良い。
$ which -a vim
/usr/local/bin/vim
/usr/bin/vim
たしかに2つある。 それぞれのvimのバージョンを調べてみた
/usr/local/bin/vim → vim7.3
/usr/bin/vim → vim7.0
自分はvim7.3の方を使っているつもりで .gitconfig にはこのように書いてあった
[core]
editor = vim -c \”set fenc=utf-8\”
これだとvimどっちのvimが使われるのかよくわからない。
実際にはvim7.0のほうが使われていて、git commit する時に7.0で使えないプラグインがあるとエラーメッセージが出ていた。
(これの原因を探っていく途中で、2種類のvimがインストールされてることが判明した)
git だけの問題であれば.gitconfig の指定をフルパスにすれば良いともいえるけど、gitconfigは他の環境でも使うaliasの設定を一元管理したいので git管理しているので、環境依存な設定は出来る限りここに書きたくない。git で使うエディタの設定といえば、もう一つ 環境変数の GIT_EDITOR に指定するというのがあるのでそちらで、と思い.bash_profile を開いたところで、gitに限らずエディタはvim7.3を使いたいのであれば、EDITOR に設定すればいいや と気づいたのでこのように設定した
# editorexport EDITOR='/usr/local/bin/vim'
これまでも、coloscheme の設定が効いてて白黒ではなかったけども、コミットメッセージ編集時のvimファイル名等に色がついてカラフルになったり git commit -v も色がついてdiff が見やすくなったりした。
あ…ありのまま 今 起こった事を話すぜ!「おれはvim7.3を起動したと思ったらvim7.0を起動していた」by @iakio
special thanks @iakio @tek_koc