帮助 – 将diff符号“<”,“|”或“>”更改为所需的符号?

diff -w命令用于创build一个并排比较diff文件(而不是并行)
然后我通过sshterminal使用vi查看它们,变化由“<”或“|”表示。 或“>”
由于我正在查看的文件是一个源代码,导航到单独更改
使用上面的符号是困难的,因为它们也在C源代码中。

我如何将这些默认符号更改为所需的?
请帮助。 谢谢。

不要在vim中查看diff -w的输出,你可以使用vim的内置diff:

 vim -d file1 file2 

这将在打开两个文件的垂直分割中打开vim,并在代码中显示diff标记。 这是它的样子:

替代文字

它也在终端中工作:

替代文字

你可以在这里找到一个简短的教程

根据我的版本diff(2.8.1来自FSF的GNU diffutils)-w用来改变输出的宽度; -y参数输出并排比较。 两者结合使用时,不会显示出比单独使用-y参数更多的效果,这意味着您可能在终端配置文件或全局终端配置文件中使用别名,该别名会区分diff -y。

我说这一切是因为所有改变符号的选项(“<”,“|”和“>”)与-y选项冲突。 如果你可以没有并肩生活,你可以选择另外两个输出样式或定义你自己的输出样式。 两种输出样式是-c(上下文)和-u(统一)。 (有关他们所做的更多信息,请参阅diff Wikipedia页面 。有关这些选项的更多信息,请参阅diff手册页 。)

更深入的解决方法是使用以下选项:

 diff --old-group-format="(deleted)---" \ --new-group-format="(added)---" \ --changed-group-format="(updated)---" \ --unchanged-group-format="(nodiff)---" \ old_file.c new_file.c 

现在新文件中不存在的旧文件的行由(删除)—

旧文件中不存在的新文件的行代表(加)—

已更改的行由(更新)表示

这两个文件的共同行代表(nodiff)—

由于您似乎经常这样做,您可以选择在终端配置文件中将其设置为别名,或编写一个小型shell脚本来处理它。 有关更多选项,请参阅手册的选项部分 ,具体请参阅线组格式一节,以获取有关格式定义中引号之间的内容的信息。

当然,如果你必须并肩,请尝试Nathan Fellman的想法。 否则,可以选择使用专门的GUI工具,例如Kompare。