对比文本文件(源文件)是项目开发中经常会碰到的情况,现在很多专业的IDE已经提供了文件对比的功能,
但是这些IDE在远程连接服务器的时候必须通过虚拟桌面才能使用,因此vimdiff成为了远程连接服务器的对比文件工具的首选。

启动方法

vimdiff 是文本编辑器vim的功能之一,依赖于系统的diff功能。启动命令如下:

1
vimdiff <file1> <file2>

除了上面的方法,也可以在vim中使用窗口分割模式来启动diff命令

1
2
3
vim <file1>  # 打开第一个文件

:vertical diffsplit <file2> # 使用diff模式打开第二个文件在右边的窗口

合并文本

文件比较的最终目的就是为了减少差异或者合并文件,通过下面的基本命令可以方便地进行文件合并的操作。

将差异内容拉取到当前文件

如果想快速修改一个差异点内的内容,即将另一个文件的内容拉取到当前文件,通过do命令即可实现。

将差异内容推送到另外一文件

反之,如果想要将当前文件的某个差异点的内容推到另外一个文件,可以通过dp命令实现。

刷新比较文件

当内容被修改后,vimdiff会自动刷新文件比较的内容,但是有时候刷新失败的话,可以通过:diffupdate命令来手动刷新。

折叠展开文本

比较和合并文件的时候需要通过对比上下文来进行,vimdiff默认将差异点的上下6行的文本都显示出来,差异点以外的相同文本内容则会被折叠起来,
如果想要手动展开或者折叠某些内容的话,可以通过以下命令来操作。

展开文本

通过命令zo既可实现文本展开的操作。

折叠文本

通过命令zc可以将展开的文本重新折叠。

References