This StackOverflow answer有一张KDiff3图像,突出显示行内差异。有人知道一个工具可以在命令行上显示相同的(例如,通过颜色)吗?
想到这一点的另一种方法是想要在补丁文件中区分每个差异。
答案 0 :(得分:10)
我不知道这是否足以满足您的目的,但vimdiff可以做到这一点(甚至是颜色)。例如,请参阅此related question中的图片。
答案 1 :(得分:5)
我尝试了我找到的所有工具:wdiff,dwdiff,kdiff3,vimdiff来显示两条长而略有不同的线条之间的区别。我最喜欢的是diff-highlight
(git contrib的一部分)
在Ubuntu上,你可能已经将它作为git contrib的一部分(安装在git
deb包中)。
将其复制或链接到/usr/share/doc/git/contrib/diff-highlight/diff-highlight
cat tmp.diff | diff-highlight | colordiff
结果:
答案 2 :(得分:4)
另一种直观的方法是查看所有字大小的差异(尽管不是并排)是将wdiff
与colordiff
一起使用(您可能需要同时安装两者)。这方面的一个例子是:
wdiff -n {file-A} {file-A} | colordiff
您可以选择将其导入less -R
以滚动输出(-R
用于显示less
中的颜色。)
答案 3 :(得分:2)
您可能可以使用colordiff
。
在man page:
中传递给colordiff的任何选项都是 传递到diff除了 colordiff特定选项'difftype', e.g。
colordiff --difftype=debdiff file1 file2
'difftype'的有效值是:diff, diffc,diffu,diffy,wdiff,debdiff; 这些对应于普通差异, 上下文差异,统一差异, 并排差异,wdiff输出和 debdiff分别输出。使用这些 当colordiff不能时,重写 确定差异类型 自动。
我还没有对它进行过测试,但并排输出(由diff -y file1 file2
生成)可能会给你相同的内联差异。
答案 4 :(得分:2)
我遇到了类似的问题,并希望避免使用vimdiff
。我发现dwdiff
(在Debian中可用)比wdiff
有几个优势。
dwdiff
最有用的功能是您可以使用-d [CHARS]
自定义分隔符,因此它可用于比较各种输出。它还内置了-c
标记的颜色。
答案 5 :(得分:1)