使用gvim打印差异?

使用gvim打印差异?,vim,vimdiff,Vim,Vimdiff,有没有一种方法可以像你用“gvim-d”打开它们时那样打印出差异,将所有通用代码折叠起来,只在上下文中显示差异?我尝试了打印菜单选项,但它打印了我当前“所在”的整个文件,而不是打印折叠的差异。我认为没有办法将两个不同的文件并排打印出来。但是,您可以在两个不同的文件上使用Vim的“转换为HTML”工具,并分别打印出来。然后可以将它们并排堆叠以获得相同的效果 转换为HTML是一种“漂亮的打印”——它保存了所有的视觉颜色/语法/折叠信息 :he convert-to-HTML 我很幸运地使用了dif

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

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

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

:he convert-to-HTML

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

$ diff -y --suppress-common-lines oldfile newfile | \
  a2ps -l 130 --columns 1

首先,
TOhtml
plugin@Gowri所说的,能够输出一个HTML并显示两个文件(除非您将
g:HTML\u diff\u one\u file
设置为1)。其次,如果您对TOhtml的输出不满意,可以尝试使用我自己的命令(在本例中使用的命令:
:Format diffformat
(可能被截断为
:Format d
)。它在html输出中有更多的功能,但我之所以费心编写它,主要原因是您可以编写自己的输出格式规范,所有与html相关的内容都保存在一个地方。

这不是我希望的,但我想它必须这样做。