git difftool 之 vimdiff

git difftool 之 vimdiff

1. vimdiff的使用
1.1 What is vimdiff

在类nuix平台,我们希望对文件之间的差异之间快速定位,希望能够很容易的进行文件合并……。

可以使用Vim提供的diff模式,通常称作vimdiff,就是这样一个能满足所有这些需求,甚至能够提供更多的强力工具。

1.2 启动方法

首先保证系统中的diff命令是可用的。Vim的diff模式是依赖于diff命令的。Vimdiff的基本用法就是:

$ vimdiff FILE_LEFT FILE_RIGHT

或者

$ vim -d FILE_LEFT FILE_RIGHT
1.3 常用命令

跳转到下一个diff点:使用]c命令

跳转到上一个diff点:使用[c命令

如果希望手工修改某一行,可以直接使用通常的vim操作进行修改。

如果希望在两个文件之间来回跳转,可以用下列命令序列:Ctrl-w,w

如果想交换上/下、左/右两个分隔窗口的位置,可以使用 命令序列:Ctrl-w,r

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

如果希望把另一个文件的内容复制到当前行中,可以使用命令:do(diff obtain)

在修改一个或两个文件之后,vimdiff会试图自动来重新比较文件,以便实时地反映比较结果。但是有时候会处理失败,这个时候就需要手工来刷新::diffupdate

zo (folding open) 打开折叠代码。之所以用z这个字母,是因为它看上去比较像折叠着的纸。

zc (folding close) 重新折叠起来。


2. 使用vimdiff 作为 git difftool

2.1 关于git difftool

git diff命令可以用来显示文件差异。

git difftool命令可以使用外部工具来显示文件差异。可使用–extcmd参数指定具体的diff工具:

$ git difftool --extcmd vimdiff FILE_NAME
2.2 设置difftool默认使用vimdiff
$ git config --global diff.tool vimdiff
$ git config --global difftool.prompt false  # 设置difftool使用vimdiff时不弹出二次提示
2.3 运行git difftool

如果不加具体的文件,那么默认是一个一个的比对文件。可使用:qa退出单个文件,如果想使用:cq退出整个比对,需要增加如下参数:

$ git config --global difftool.trustExitCode true
2.4 总结

此时git diff一样可以使用,它使用的还是默认的格式,git difftool使用的是vimdiff显示。

可以使用git difftool --staged查看暂存区的修改。

可以使用git difftool commit1-sha commit2-sha在两次提交之间比较。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时空旅客er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值