git-deltaを偶然知った

twitterを眺めていて偶然、知ったので試してみたら、なかなか良かったので、そのメモ。

公式サイトはこちら

試した環境

macos catalina(10.15.5)
tmux 3.1b

インストール

macなのでbrewを使います。

brew install git-delta

設定

とりえあず、公式の設定を~/.gitconfigにコピペしてみます。

[core]
 pager = delta --plus-color="#012800" --minus-color="#340001" --theme='Monokai Extended'
[interactive]
 diffFilter = delta --color-only

動作確認1

適当なソースの差分を表示してみます。

スクリーンショット 2020-05-31 0.26.29

どうやら成功した模様。緑色が追加行、赤色が修正・削除行。
githubのdiffっぽく出てきます。
しかし、tmux起動後、色が出て来ない事態が発生しました。

画像2

原因と対策

tmuxをTrueColorに設定していないことが原因でした。
正直に言うと以下の対応の意味していることをほとんど理解していないのですが、ググりまくってなんとか解決しました。

まずはncurses(テキストベースのUIライブラリっぽいです)をインストール。自分の場合はすでにインストールされていたものの、バージョンがちょっと古かったのでupgradeし、その後TrueColorを設定する為の儀式を実施。

brew upgrade ncurses
/usr/local/opt/ncurses/bin/infocmp tmux-256color > ~/tmux-256color.info
sudo tic -xe tmux-256color tmux-256color.info


ncursesのupgrade時にパスを通せと注意されたので、.zshrcにパスを通す記述を追記。

export PATH="/usr/local/opt/ncurses/bin:$PATH"

最後にtmuxにTrueColorを使う為の以下の設定を追記しました。



set-option -g default-terminal "tmux-256color" # 基本的にはscreen-256colorかtmux-256colorを設定
set-option -ga terminal-overrides ",$TERM:Tc" # tmuxを起動していない時のzshでの$TERMの値を指定
tmux上でも差分が色付きで表示されるようになった。

これでようやく、tmux上でも差分が色付きで表示されるようになりました。
意外と道のりが長かった・・・

画像3

参考


この記事が気に入ったらサポートをしてみませんか?