読者です 読者をやめる 読者になる 読者になる

Vim(GVim)でGitのコミットログを書く設定

dev git windows

msysgitを使う場合です。Git-1.7.7.1-preview20111027.exeで動作確認しています。GitHubなどとの連携を考慮して、コミットログはutf-8で記録することを前提とします。

/etcにGit Bash起動時の設定ファイルがあるので、適宜修正してやればよいです。私の環境では C:\Program Files (x86)\Git\etc でした。*1

etc/inputrc

# disable/enable 8bit input
#set meta-flag on
#set input-meta on
#set output-meta off
#set convert-meta on
set convert-meta off
set meta-flag on
set output-meta on
set kanji-code utf-8

etc/profile

export GIT_PAGER="nkf -s | LESSCHARSET=utf-8 less"
export GIT_EDITOR="'/C/ap/vim73-kaoriya-win64/gvim.exe' -c 'set fenc=utf-8'"

コミットログのエディタはKaoriya版を使っています。set fencしているのがミソで、これがないとコミットログ編集時のデフォルトがutf-8になりませんのでご注意を。
Windows用のnkfこのへんから入手できます。古いバージョンだとutf-8に対応してなかったりするのでご注意を。
utf-8でないコミットログを記録してgit commit --amendで上書きする場合、既に記録済みのコミットログのエンコーディングGVimがファイルを開きますので、明示的にutf-8に修正してからコミットしてやる必要があります。(自分はこれでちょっと悩みました。。。)

*1:Windows7Vistaの場合Program Files以下は一般ユーザーが書き込みができないようになっているので、アクセス権の設定を変更してUsersに書き込み権限を与えてやる必要があります。