Vimdiff的使用


  1. 首先vimdiff是一款高效的文件的比较和合并的工具,它具有以下一些特点:

命令行方式的比较工具;简单明了的界面;对比较出来的多处差异之间快速定位;进行文件合并。再使用vimdiff命令之前,我们需要对diff命令加以了解,关于其使用,可以参照man手册。


  1. 基本开启方式:


vimdiff file1 file2

vim –d file1 file2


还有一种启动方式比较复杂:

首先是vimfile1

然后在vimex模式(也就是"冒号"模式)下输入::

verticaldiffsplit file2 这样也可以达到同样的效果

小技巧:在两个分隔的窗口之间切换快捷键:Ctrl+w 

如果希望撤销修改,可以和平常用vim编辑一样,直接<ESC> u


  1. 当我们打开两个文件时,会发现如下一些特点。

屏幕被垂直分割,左右两侧分别显示被比较的两个文件;两个文件中连续的相同的行被折叠了起来,以便重点突出差异。只在某一文件中存在的行的背景色被设置为蓝色,而在另一文件中的对应位置被显示为绿色。两个文件中都存在,但是包含差异的行显示为粉色背景,引起差异的文字用红色背景加以突出。


4、当我们移动光标时,可以看到左右两侧的屏幕滚动是同步的。这是因为"scrollbind"选项被设置了的结果,vim会尽力保证两侧文件的对齐。当然如果你不习惯这种方式,我们可以作一下调整,在vimex模式下输入 :setnoscrollbind

有时候我们可能又会很纠结,又想变回来,可以输入 :setscrollbind

5、当我们想合并文件,来消除差异,可以把当前文件里一个差异点的内容复制到另一个文件里,命令为: :diffput

如果是想把另外一个文件中的内容复制到当前行,可以使用命令: diffget

大部分情况下,vimdiff会自动更新两文件中的差异,但是有时候也不会更新,我们可以手动解决: 命令为 diffupdate

6在比较和合并告一段落之后,可以用下列命令对两个文件同时进行操作。比如同时退出:

:qa(未对文件做过修改,直接退出)

:qa!(不保存文件退出)

:wqa(保存文件并退出)

7vimdiff默认情况下会把文件中连续相同的行隐藏起来,这时如果我们需要查看全文,可以使用展开命令: :foldopen 如果想继续隐藏,命令为: :foldclose

还有就是Vimdiff缺省是会把不同之处上下各6行的文本都显示出来以供参考。其他的相同的文本行被自动折叠。如果希望修改缺省的上下文行数,可以这样设置:

:setdiffopt=context: 5

小技巧:如果你使用了文件展开命令,那么找两个文件之间的不同之处可能比较费劲,有个快捷的方式:]c可以直接跳到下一个不同之处,[c.则可以直接跳到上一个不同之处

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值