Vim Diff
与UNIX的diff命令类似,我们可以使用Vim以更好的方式显示差异。它会以丰富多彩的方式显示差异。在本章中,我们将讨论以下内容:
- 显示文件之间的差异
- 激活和停用差异模式
- 差异模式下的导航
- 从差异窗口应用更改
显示差异
要显示文件之间的差异,请执行以下命令 –
$ vimdiff <file> <file>
OR
$ vim –d <file> <file>
例如,下面的命令显示差异 −
在上面的图像中,以品红色高亮显示的文本是相同的。剩余的文本以红色高亮显示,表示在相同文本之后有一些差异。
激活和停用差异模式
如果您已经在vim中,并且希望执行差异操作,那么请使用以下命令之一:
diffsplit
使用下面的命令进行水平拆分 –
:diffsplit filename
上面的图片显示我们正在比较两个文件,分别是message-1.txt和message-2.txt。
垂直差异分割
使用以下命令进行垂直分割-
:vert diffsplit <filename>
它会打开以下窗口 −
上面的图片显示我们正在比较两个文件,分别是message-1.txt和message-2.txt。
在差异模式下的导航
在差异模式下导航稍有不同。例如,当你滚动一个窗口的文本时,相邻窗口的文本也会滚动。这被称为滚动绑定。要启用这个功能,使用-
:set scrollbind
禁用方法如下:
:set noscrollbind
如果您以此模式进行文件编辑,请使用以下命令更新差异:
:diffupdate
在不同窗口之间切换
要在不同窗口之间切换,请执行以下命令 –
Ctrl + w Ctrl + w
请注意,我们需要按两次Ctrl + w。
跳转到上一个更改
在差异窗口中,执行以下命令跳转到上一个更改 –
[c
跳转到下一个更改
在差异窗口中,执行以下命令以跳转到下一个更改 –
]c
应用来自diff窗口的更改
应用当前diff窗口中的更改
要将相邻的diff窗口中的更改应用到当前diff窗口,请执行以下操作 –
:diffget
例如,如果你在左窗口,想要将右窗口中的更改应用到当前窗口中,那么你将执行上述命令。
将当前窗格中的更改应用到另一个窗格中
要将当前差异窗口中的更改应用到相邻的差异窗口中,请执行以下操作。
:diffput
例如,如果你在左窗口,并且想将当前窗口的更改应用到右窗口,则执行上述命令。