Vimdiff 使用

     首先保证系统中的diff命令是可用的。Vim的diff模式是依赖于diff命令的。

基本用法:

启动方法
     # vimdiff    FILE_LEFT    FILE_RIGHT
     或
     # vim -d    FILE_LEFT    FILE_RIGHT
      还可以用分割窗口命令来启动diff模式:
      # vim FILE_LEFT

     然后在vim的ex模式(也就是"冒号"模式)下输入:
     :vertical diffsplit FILE_RIGHT

交换窗口位置
1. Ctrl-w K(把当前窗口移到最上边)
2. Ctrl-w H(把当前窗口移到最左边)
3. Ctrl-w J(把当前窗口移到最下边)
4. Ctrl-w L(把当前窗口移到最右边)
其中1和3两个操作会把窗口改成水平分割方式。

光标移动
1:vim会尽力保证两侧文件的对齐。在行间移动光标,可以看到左右两侧的屏幕滚动是同步的。
如果不想要这个特性,可以设置:
:set noscrollbind

2:跳转到下一个差异点:
]c
3:反向跳转是:
[c

如果在命令前加上数字的话,可以跳过一个或数个差异点,从而实现跳的更远。
比如如果在位于第一个差异点的行输入"2]c",将越过下一个差异点,跳转到第三个差异点。

文件合并

如果希望把一个差异点中当前文件的内容复制到另一个文件里,可以使用命令
dp (diff "put")

如果希望把另一个文件的内容复制到当前行中,可以使用命令
do (diff "get",之所以不用dg,是因为dg已经被另一个命令占用了)

在修改一个或两个文件之后,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)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值