6

有没有办法打印出差异,就像你用“gvim -d”打开它们时显示的那样,所有通用代码都折叠起来,只有差异在上下文中显示?我尝试了打印菜单选项,但它打印了我当前“进入”的整个文件,而不是打印折叠的差异。

4

3 回答 3

4

我认为没有一种方法可以并排打印正在区分的两个文件。但是,您可以对正在区分的两个文件中的每一个文件使用 Vim 的“转换为 HTML”工具,然后分别打印出来。然后,您可以将它们并排堆叠以获得相同的效果。

转换为 HTML 是一种“漂亮的打印”——它保存了所有视觉颜色/语法/折叠信息。

:he convert-to-HTML
于 2008-11-18T13:54:19.200 回答
3

使用 diff 和 a2ps 的组合我很幸运:

$ diff -y --suppress-common-lines oldfile newfile | \
  a2ps -l 130 --columns 1
于 2012-03-28T13:26:50.657 回答
1

首先,TOhtml@Gowri 提到的插件能够输出一个 HTML 并显示两个文件(除非您已设置g:html_diff_one_file为 1)。其次,如果您对 TOhtml 的输出不满意,您可以尝试我自己的formatvim(在这种情况下使用的命令:(:Format diffformat可能被截断为:Format d))。它在 html 输出中具有更多功能,但我费心编写它的主要原因是您可以编写自己的输出格式规范,所有与 html 相关的东西都保存在一个地方。

于 2012-03-28T20:03:38.607 回答