やったこと
.gitconfig
[color]
diff = always
diff-highlight = always
bash
$ git diff | diff-highlight | less -R
説明
単純に git diff
をパイプで less
に渡しても、色が付かない状態で表示されてしまうので、 .gitconfig
でカラーリングの設定をしています。
diff-highlight
は変更行に加えて変更箇所もハイライトしてくれる便利ツールです。
デフォルトのpagerはless
git
はデフォルトで less
が pager
として設定されているようなので、git diff
等は基本的に less
で見れるはずです。
ただ、私の環境だけかもしれませんが、表示結果がスクリーンに残ってしまうのは期待する結果ではなかったので、今回は設定し直しました。
gitconfigでpager設定
.gitconfig
[pager]
diff = diff-highlight | less -R
上記のような設定にしても、やりたいことは概ね可能だと思います。ただ、やはりスクリーンに結果が残ってしまうので今回は外しました。
まとめ
.gitconfig
の設定でなんとか出来ないか探してましたが、難しそうだったので基本的な形で落ち着きました。