Git Diff で日本語の文章も綺麗に差分を出す

git diff コマンドで日本語の文章も綺麗に差分を出す方法が紹介されていたので試してみた。

コマンドは以下。

$ git diff --word-diff-regex=$'[^\x80-\xbf][\x80-\xbf]*' --word-diff=color

この正規表現は大体の UTF-8 の1文字にマッチさせる正規表現らしい。

--word-diff=color--color-words とも書けて、さらに --word-diff-regrex=<RegRex> も使っている場合は --color-words=<RegRex> と省略表記できるので、以下のように書ける。

$ git diff --color-words=$'[^\x80-\xbf][\x80-\xbf]*'

コレを ~/.bashrc にエイリアスとして書いておけば使いやすくなる。

# 「gdfj」コマンドとして使えるようにする
alias gdfwj='git diff --color-words=$'\''[^\x80-\xbf][\x80-\xbf]*'\'''

同様にコレを ~/.gitconfig にも書こうと思ったのだが、以下のようなエラーが出てしまった。

fatal: bad config line 30 in file /Users/Neo/.gitconfig

最初は \ 記号をエスケープしてみたのだが、コレだと削除されたところが赤字表示されなくなってしまい、結局何のエスケープが要るのかよく分からず断念した。いいや別に ~/.gitconfig に書いたエイリアス使わないから…。