1、可以使用快捷键在各个差异点之间快速移动。跳转到下一个差异点:
]c 正向查找
[c 反向查找
提示:在命令前加上数字的话,可以跳过一个或数个差异点,从而实现跳的更远。比如如果在位于第一个差异点的行输入"2]c",将越过下一个差异点,跳转到第三个差异点。
2、默认多个文件滚动条同步滚动,如果不想同步滚动
:set noscrollbind
3、文件窗口之间跳转
Ctrl+w,w
4、用简单的折叠命令来临时展开被折叠的相同的文本行:
zo (folding open 打开)
zc (floding close g)
以下为从别的地方转载的:
*用另外一个窗口的不同处替换当前: 输入"do". 这里,前提是用']c'或者'[c'跳到相应的不同处,执行完毕之后,当前窗口当前位置内容被替换为另外一个窗口的当前位置内容。注意这里是两个文件的情况,当前窗口有多于两个文件时无法进行。
*先指定范围1-100行,再用另外一个窗口的不同处替换当前: 输入"1,100 diffg". 或输入"1,100 diffget". 这里,等同于do不过指定了范围,如果有缓冲还可在diffg后面指定缓冲名字。
*先指定范围1-100行,再用指定3号缓冲(假设是文件file3)的不同处替换当前: 输入"1,100 diffg 3". 或输入"1,100 diffget 3". 这里,在diffg后面指定缓冲名字。
*用当前替换另外一个窗口的不同处: 输入"dp". 这里,前提是用']c'或者'[c'跳到相应的不同处,执行完毕之后,另外一个窗口的当前位置内容被替换成当前窗口当前的位置内容。注意这里是两个文件的情况,当前窗口有多于两个文件时无法进行。
*先指定范围1-100行,再用另外一个窗口的不同处替换当前: 输入"1,100 diffpu". 或输入"1,100 diffput". 这里,等同于dp不过指定了范围,如果有缓冲还可在diffpu后面指定缓冲名字。
*先指定范围1-100行,再用指定3号缓冲(假设是文件file3)的不同处替换当前: 输入"1,100 diffpu 3". 或输入"1,100 diffput 3". 这里,在diffpu后面指定缓冲名字。
*新开一个水平窗口载入file文件进行对比: 输入":diffsplit file". 这里新开的窗口是水平排列的,在不同窗口间移动的命令同vim。
*新开一个垂直窗口载入file文件进行对比: 输入"vert diffsplit file". 这里,vert实际是vertical前缀的简写。新开的窗口是垂直排列的,在不同窗口间移动的命令同vim。
*强制更新文件的不同状态: 输入":diffupdate". 这里,当我们修改某一个文件的时候,vim会试图使它和另外一个文件的不同之处保持更新,例如插入和删除行。但是,更复杂的修改或者在一个行内的修改可能会导致不同处(vimdiff)没有及时更新,这时候可以运行这个命令(diffupdate)进行强制更新。
*修改缺省的上下文行为3行: 输入":set diffopt=context:3". 这里vimdiff 缺省是会把不同之处上下各 6 行的文本都显示出来以供参考。其他的相同的文本行被自动折叠。如果希望修改缺省的上下文行数,可以这样设置.