在修改一个或两个文件之后,vimdiff会试图自动来重新比较文件,来实时反映比较结果。但是也会有处理失败的情况,这个时候需要手工来刷新比较结果:
:diffupdate |
如果希望撤销修改,可以和平常用vim编辑一样,直接
<ESC>, u |
但是要注意一定要将光标移动到需要撤销修改的文件窗口中。
在比较和合并告一段落之后,可以用下列命令对两个文件同时进行操作。比如同时退出:
:qa (quit all) |
如果希望保存全部文件:
:wa (write all) |
或者是两者的合并命令,保存全部文件,然后退出:
:wqa (write, then quit all) |
如果在退出的时候不希望保存任何操作的结果:
:qa! (force to quit all) |
比较和合并文件的时候经常需要结合上下文来确定最终要采取的操作。Vimdiff 缺省是会把不同之处上下各 6 行的文本都显示出来以供参考。其他的相同的文本行被自动折叠。如果希望修改缺省的上下文行数,可以这样设置:
:set diffopt=context:3 |
zo (folding open,之所以用z这个字母,是因为它看上去比较像折叠着的纸) |
然后可以用下列命令来重新折叠:
zc (folding close) |
在无法使用图形化的比较工具的时候,或者在需要快速比较和合并少量文件的时候,Vimdiff是最好的选择。
原文链接:http://www-128.ibm.com/developerworks/cn/linux/l-vimdiff/