MacVimをコマンドラインでも使っていたらgitで怒られた

$ git commit --amend
error: There was a problem with the editor 'vi'.
$ git rebase -i HEAD^^
Could not execute editor

gitでエディタを起動するような操作をしたら、こんなエラーが出ました。

$ type vi
vi is aliased to `/Applications/MacVim.app/Contents/MacOS/Vim "$@"'
$ type vim
vim is aliased to `/Applications/MacVim.app/Contents/MacOS/Vim "$@"'

以前、どこかに書いてあった情報を参考に、MacVimをコマンドラインで使うようにaliasを設定していました。どうやらこれがダメみたい。

$ git config --global core.editor "/Applications/MacVim.app/Contents/MacOS/Vim"

あれこれやってみて、 "$@"が余計らしい事が分かりました。そもそも "$@"は何を意味するんだろう?あとaliasを設定したのはかなり前なので、今になって問題発生するのがちょっと不思議。今までgitでエディタ起動するような操作、しなかったって事なのかな。とりあえず、普通にMacVimを起動するのは、現状のaliasで問題出てないので。gitだけの設定で "$@"無しでMacVimを指定しました。

追記

"$@"関係なかった。

$ type vi
vi is aliased to `/Applications/MacVim.app/Contents/MacOS/Vim'
$ type vim
vim is aliased to `/Applications/MacVim.app/Contents/MacOS/Vim'

別のMac環境で今度はこの設定にしてみたけど、git rebase -i HEAD^^したらやっぱりCould not execute editorって言われました。どうやらgitがデフォルトで使うvim*1エイリアスだと、ダメなのかもしれない。今回もgit config --global core.editorで回避。

環境

Mac Mac OS X 10.5.8(Leopard
git 1.6.5.2
MacVim 7.3 (KaoriYa 20110330)

*1:viかも?