deltaというrustで書かれた差分表示ツールがある。これをgitと連携するとgit diffの表示がパワーアップする。
- サイドバイサイドのdiff表示
- シンタックスハイライト
- 行番号
difftoolで外部ツールと連携すれば同じような結果は得られる。しかし外部ツールが起動するので気軽にdiffを見るには少々重く、外部ツールがvimdiffの場合一度に1ファイルのdiffしか表示できないので地味に使いにくい。deltaならばgit diffと全く同様の使い勝手で軽いというのが推しポイント。
設定方法
brew install git-delta
インストールしただけではgitの出力は変わらないので、~/.gitconfig
に以下の記述を追加する
[core] pager = delta [interactive] diffFilter = delta --color-only [delta] features = side-by-side line-numbers decorations whitespace-error-style = 22 reverse [delta "decorations"] commit-decoration-style = bold yellow box ul file-style = bold yellow ul file-decoration-style = none
この設定を加えるとgit logが先程の画像のようにサイドバイサイドの差分表示となる。pager丸ごと置き換えているのでdiff以外のサブコマンドにも影響する。git logの表示も少しパワーアップする。