ターミナルの diff で、github のように、行の中で具体的に差分がある部分に色付けをしたい


github の PR の diff 表示では、行ごとの diff に加えて、行中のどこの部分に差異があるのかを表示してくれます。例えば [linux の
PR から適当に拾ってきたこのページ](https://github.com/torvalds/linux/pull/10/files) などが具体例です。

今、コマンドライン上の diff においても、このように色付けができたら便利だろうと思い、その方法を探しています。

* * *

diff に色を付けようとして、見つかったパッケージは、 [colordiff というツール](https://www.colordiff.org/)
で、これを使うと、例えば `+` の行は緑色、`-`の行は赤色といったように、行ごとに色を付与してくれますが、最終的に実現したい github 的な
diff の再現において、「行中の差異の部分の表示」はやってくれていないな、と思っています。

### 質問

github の PR ページの diff のように、行中の差異の部分まで色わけしてくれるような diff
を、ターミナル上で実現したいのですが、これが可能になるツールなどはありませんでしょうか。




英語版の [How to colorize diff on the command
line?](https://stackoverflow.com/q/8800578) にいくつか回答が集まっており、  
そのうちの一つに [ydiff](https://github.com/ymattw/ydiff) というツールが紹介されています。  
(求めているものは "Word-level diff" と英語では表現されるようです)

**表示例:**

[![](https://i.stack.imgur.com/SPQNG.png)](https://i.stack.imgur.com/SPQNG.png)

また、Git に [diff-highlight](https://github.com/git/git/tree/master/contrib/diff-
highlight) というモジュールが同梱されているのでこれを使う方法もあるようです。

**参考:**  
[gitのdiff-
highlightを使い始めた](https://udomomo.hatenablog.com/entry/2019/12/01/181404)




英語版の [How to colorize diff on the command
line?](https://stackoverflow.com/q/8800578) にいくつか回答が集まっており、  
そのうちの一つに [ydiff](https://github.com/ymattw/ydiff) というツールが紹介されています。  
(求めているものは "Word-level diff" と英語では表現されるようです)

**表示例:**

[![](https://i.stack.imgur.com/SPQNG.png)](https://i.stack.imgur.com/SPQNG.png)

また、Git に [diff-highlight](https://github.com/git/git/tree/master/contrib/diff-
highlight) というモジュールが同梱されているのでこれを使う方法もあるようです。

**参考:**  
[gitのdiff-
highlightを使い始めた](https://udomomo.hatenablog.com/entry/2019/12/01/181404)

