3

在 Unix 中,执行

diff -y file1 file2

可以并排看到两个文件。并执行

diff -c file1 file2

可以看到两个文件与 3 行上下文的差异。执行

diff -y --supress-common-lines

可以抑制所有的公共线路。但是如果我想并排显示但有 3 行上下文怎么办?--supress-common-lines将不提供任何上下文

diff -y -c file1 file2

会给我conflicting output style options。有没有办法做到这一点?

4

1 回答 1

3

似乎diff(1)不允许这样做,但vimdiff似乎可以工作:

vimdiff -c 'set diffopt=context:3' file1 file2

缺点是它只是交互式的,您不能将差异转储到文件中,但话又说回来,并排差异在文件中不是很有用。但是,如果您确实想将其保存到文件中,这个很棒的答案会让您这样做:

vimdiff -c 'set diffopt=context:3' -c TOhtml -c 'w! output.html' -c 'qa!' file1 file2

不理想,但它是一些东西。

于 2020-02-08T19:54:13.000 回答