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