diff --color
option was added to GNU diffutils 3.4 (2016-08-08)
This is the default diff
implementation on most distros, which will soon be getting it.
Ubuntu 18.04 has diffutils
3.6 and therefore has it.
On 3.5 it looks like this:
Tested:
diff --color -u \
<(seq 6 | sed 's/$/ a/') \
<(seq 8 | grep -Ev '^(2|3)$' | sed 's/$/ a/')
Apparently added in commit c0fa19fe92da71404f809aafb5f51cfd99b1bee2 (Mar 2015).
Word-level diff
Like diff-highlight
. Not possible it seems, feature request: https://lists.gnu.org/archive/html/diffutils-devel/2017-01/msg00001.html
Related threads:
ydiff
does it though, see below.
ydiff
side-by-side word level diff
https://github.com/ymattw/ydiff
Is this Nirvana?
python3 -m pip install --user ydiff
diff -u a b | ydiff -s
Outcome:
If the lines are too narrow (default 80 columns), fit to screen with:
diff -u a b | ydiff -w 0 -s
Contents of the test files:
a
1
2
3
4
5 the original line the original line the original line the original line
6
7
8
9
10
11
12
13
14
15 the original line the original line the original line the original line
16
17
18
19
20
b
1
2
3
4
5 the original line teh original line the original line the original line
6
7
8
9
10
11
12
13
14
15 the original line the original line the original line the origlnal line
16
17
18
19
20
ydiff
Git integration
ydiff
integrates with Git without any configuration required.
From inside a git repository, instead of git diff
, you can do just:
ydiff -s
and instead of git log
:
ydiff -ls
See also: https://stackoverflow.com/questions/7669963/how-can-i-get-a-side-by-side-diff-when-i-do-git-diff/14649328#14649328
Tested on Ubuntu 16.04, git 2.18.0, ydiff 1.1.