![04b3d012b34e4267ab83b57292de9ece.png](https://i-blog.csdnimg.cn/blog_migrate/32686e468caee620b10d754128931a6f.jpeg)
文件 a 和 b
比如有两个源代码文件 a 和 b,如上图所示。
在Unix/Linux平台上,对比查看两个源代码文件的差异时,最简单且随处可用的就是命令行工具,比如diff。diff以逐行的方式比较文本文件的异同处,如下图所示。
![e7d6188c18cd373bf53b793325d0783b.png](https://i-blog.csdnimg.cn/blog_migrate/2f26aa5a41c83fe1d94ea1e456689c6a.jpeg)
diff查看结果
上面的"3c3"和"6c6"表示文件a和b在3行和第6行内容有所不同。可以看到diff的结果不是那么一目了然。
相比diff,vimdiff 使用起来更方便,不仅拥有简单明了的界面,对比较结果一目了然,还能够在比较出来的多处差异之间快速定位,以及合并。
![7ab25683bbbb6a9540dbe18a9db93e30.png](https://i-blog.csdnimg.cn/blog_migrate/a45fbd437b239d71b3568db85e336151.jpeg)
vimdiff查看结果
1、vimdiff 对比查看命令:
vimdiff file1 file2
2、vimdiff 上下文展开的命令:
zo(展开被折叠的相同文本行)
zc(折叠相同的文本行)
3、vimdiff 在两个文件中跳转:
Ctrl-w w
4、vimdiff 交换两个窗口位置的命令:
Ctrl-w K(把当前窗口移到最上边)
Ctrl-w H(把当前窗口移到最左边)
Ctrl-w J(把当前窗口移到最下边)
Ctrl-w L(把当前窗口移到最右边)
5、vimdiff 在各个差异点间跳转的命令:
]c (跳转到下一个差异点)
[c (跳转到上一个差异点)
6、vimdiff 文件合并命令:
dp(在差异点处,把当前文件的内容复制到另一个文件里)
do(在差异点处,把另一个文件里的内容复制到当前文件)
7、vimdiff 更新比较结果
:diffupdate(文件修改后,有时需要手工来刷新比较结果)
![55cfab07ce241833e08a138d895034c2.png](https://i-blog.csdnimg.cn/blog_migrate/fc8399eb9c378fe465aad8d74c28de17.jpeg)