MacでGit使用時に文字化け
MacでGitのdiffを使用したらなぜか文字化けした。
PAGER(ページャ)がうまく文字コードを認識できていないっぽい。
$ git diff ESC[1mdiff --git a/test_p.txt b/test_p.txtESC[m ESC[1mindex 8b4a42d..2cb5f33 100644ESC[m ESC[1m--- a/test_p.txtESC[m ESC[1m+++ b/test_p.txtESC[m ESC[36m@@ -1,2 +1,3 @@ESC[m This is a test file.ESC[m aaaaaESC[m ESC[32m+ESC[mESC[32mbbbbbESC[m
とうことで以下のようにGitで使うPAGERを"lv"に変更
(環境変数"GIT_PAGER")
※ lvコマンドはMacにはデフォルトではインストールされていません。
-cオプションはカラー表示対応のため
$ export GIT_PAGER="lv -c" diff --git a/test_p.txt b/test_p.txt index 8b4a42d..2cb5f33 100644 --- a/test_p.txt +++ b/test_p.txt @@ -1,2 +1,3 @@ This is a test file. aaaaa
あとはこの環境変数の設定を".bash_profile"などに設定しておけばOK
追記:
上では文字化けと表現していたが、正確にはGitのカラー表示を有効にした場合にカラーコード用のエスケープシーケンスがそのまま表示されていたためこのような表示になっていた。
よってGIT_PAGERに"less -R"とすることでlessを使用した場合でも上記現象を回避することができる。