在shell脚本中使用vimdiff进行HTML转换

时间:2014-08-27 06:57:05

标签: bash shell diff vimdiff

为了查看两个或更多文本文件之间的区别,有diff命令。 但是为了看到与颜色的区别,经过一些研究后我找到了vimdiff,并选择将差异导出到带有:TOhtml的HTML文件

这是我的问题:我正在尝试使用脚本执行所有操作,但我无法找到将:TOhtml添加到脚本的方法。

我尝试使用vimdiff t1 t2 | :TOhtml,但它确实无效。

所以,如果你们中的任何人能够帮助我或提供线索,我真的很感激。

3 个答案:

答案 0 :(得分:1)

你可以在bash的短脚本中完成。 你要做的是调用vimdiff file1 file2和vim调用:TOhtml和last:wqa退出vim。 这转化为:

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


:TOhtml
:wqa
EOF

说明:

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

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

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

答案 1 :(得分:1)

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

vimdiff -c TOhtml -c "w custom_name.html | qa!" $1 $2

答案 2 :(得分:0)

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