- Vim 教程
- Vim - 首页
- Vim - 简介
- Vim - 安装与配置
- Vim - 相关工具
- Vim - 初步熟悉
- Vim - 获取帮助
- Vim - 编辑
- Vim - 导航
- Vim - 再次回顾编辑
- Vim - 搜索
- Vim - 多文件操作
- Vim - 标记
- Vim - 宏
- Vim - 寄存器
- Vim - 折叠
- Vim - 差异比较
- Vim - 插件
- Vim - 作为IDE使用
- Vim - 远程文件编辑
- Vim - 提示与技巧
- Vim - 个性化设置
- Vim - 总结
- Vim 有用资源
- Vim - 快速指南
- Vim - 有用资源
- Vim - 讨论
Vim - 差异比较
类似于 UNIX 的 diff 命令,我们可以使用 Vim 以更佳的方式显示差异。它将以彩色方式显示差异。在本节中,我们将讨论以下内容:
- 显示文件之间的差异
- 激活和停用差异模式
- 差异模式下的导航
- 应用差异窗口中的更改
显示差异
要显示文件之间的差异,请执行以下命令:
$ vimdiff <file> <file> OR $ vim –d <file> <file>
例如,以下命令显示差异:
在上图中,以品红色突出显示的文本是共同的。其余文本以红色突出显示,表示在公共文本之后存在一些差异。
激活和停用差异模式
如果您已经在 vim 中并且想要执行差异操作,则可以使用以下命令之一:
diffsplit
使用以下命令执行水平分割:
:diffsplit filename
上图显示我们正在比较两个文件,即 message-1.txt 和 message-2.txt。
垂直 diffsplit
要执行垂直分割,请使用以下命令:
:vert diffsplit <filename>
它将打开以下窗口:
上图显示我们正在比较两个文件,即 message-1.txt 和 message-2.txt。
差异模式下的导航
差异模式下的导航略有不同。例如,当您从一个窗口滚动文本时,相邻窗口中的文本也会滚动。这称为 scrollbind。要启用此功能,请使用:
:set scrollbind
要禁用此功能,请使用:
:set noscrollbind
如果您在此模式下编辑文件,则使用以下命令更新差异:
:diffupdate
在差异窗口之间切换
要在差异窗口之间切换,请执行以下命令:
Ctrl + w Ctrl + w
请注意,我们必须按两次 Ctrl + w。
跳转到上一个更改
在差异窗口中,执行以下命令以跳转到上一个更改:
[c
跳转到下一个更改
在差异窗口中,执行以下命令以跳转到下一个更改:
]c
应用差异窗口中的更改
在当前差异窗口中应用更改
要将相邻差异窗口中的更改应用于当前差异窗口,请执行:
:diffget
例如,如果您位于左侧窗口,并且想要将右侧窗口中的更改应用于当前窗口,则将执行上述命令。
将当前窗格中的更改应用于另一个窗格
要将当前差异窗口中的更改应用于相邻差异窗口,请执行:
:diffput
例如,如果您位于左侧窗口,并且想要将当前窗口中的更改应用于右侧窗口,则将执行上述命令。
广告