与UNIX diff
命令类似,可以使用Vim以更好的方式显示diff
。 它将以丰富多彩的方式展示差异。 在本章中,将讨论以下主题内容 -
diff
模式要显示文件之间的差异执行以下命令 -
$ vimdiff <file> <file> 或者 $ vim –d <file> <file>
例如,下面的命令显示差异 -
在上图中,以品红色突出显示的文本很常见。剩余文本以红色突出显示,表示常见文本存在一些差异。
如果已经在vim中并且想要执行diff
操作,请使用以下命令之一 -
diffsplit
使用以下命令执行水平分割 -
:diffsplit filename
上图显示正在比较两个文件,即message-1.txt和message-2.txt。
垂直diffsplit
要执行垂直拆分,请使用以下命令 -
:vert diffsplit <filename>
它打开以下窗口 -
上图显示正在比较两个文件,即message-1.txt和message-2.txt。
差异模式下的导航略有不同。 例如,当从一个窗口滚动文本时,相邻窗口中的文本也会滚动。 这称为scrollbind
。 要启用此功能 -
:set scrollbind
要禁用此用途 -
:set noscrollbind
如果在此模式下编辑文件,请使用以下命令更新diff -
:diffupdate
在diff窗口之间切换
要在差异窗口之间切换执行以下命令 -
Ctrl + w Ctrl + w
请注意,必须按Ctrl + w 2
次。
跳转到上一个更改
在diff
窗口中,执行以下命令跳转到上一个更改 -
[c
跳转到下一个更改
在diff
窗口中,执行以下命令跳转到下一个更改 -
]c
在当前差异窗口中应用更改
要将相邻差异窗口的更改应用于当前差异窗口执行 -
:diffget
例如,如果在左窗口中并且想要从右侧窗口更改为当前窗口,那么将执行上述命令。
将更改从当前窗格应用到另一个窗格
要将更改从当前差异窗口应用到相邻的差异窗口执行 -
:diffput
例如,如果在左窗口中并且想要从当前窗口应用更改到右窗口,那么将执行上述命令。