1

为了查看两个或多个文本文件之间的差异,有diff命令。但是要查看颜色的差异,经过一些研究,我发现了vimdiff,可以选择将差异导出到 HTML 文件:TOhtml

这是我的问题:我正在尝试使用脚本来完成所有这些工作,但我无法找到将其添加:TOhtml到脚本中的方法。

我试过了,vimdiff t1 t2 | :TOhtml但它并没有真正起作用。

因此,如果你们中的任何人可以帮助我或提供线索,我将非常感激。

4

3 回答 3

4

单行,基于接受的回复,您可以在其中指定输出 HTML 文件的名称

vimdiff -c TOhtml -c "w custom_name.html | qa!" $1 $2
于 2019-04-25T10:16:31.803 回答
3

您可以在 bash 中使用简短的脚本来执行此操作。您要做的是调用 vimdiff file1 file2 并在 vim 内部调用 :TOhtml 和最后 :wqa 以退出 vim。这转化为:

/usr/bin/vimdiff $1 $2 <<EOF


:TOhtml
:wqa
EOF

解释:

使用完整路径直接调用 vimdiff,这将忽略别名等。有两个文件可用作 vimdiff 的输入,此时您可以添加完整性检查。此命令将直接从脚本获得输入,直到它到达 EOF 块。

下一行是空的。VIM 可能会抱怨它没有从控制台运行,此时您需要按 Enter 键。空行模拟 Enter 按键。

接下来的两行是您想在 VIM 中执行的命令,最后一行完成了所有操作。此处的输出将是您运行脚本的文件夹中名为 Diff.html 的文件。

于 2015-06-24T11:38:07.597 回答
0

或者,您可以使用colordiff“为差异输出着色的工具”。

于 2014-08-27T08:09:05.600 回答