第一步,安装合适的配色。

Plugin 'altercation/vim-colors-solarized'

然后在.gvimrc中指定当使用gvimdiff时,采用独特的配色方案

if &diff
    colorscheme solarized
    set background=dark
    syntax off
endif

其中syntax off可加可不加。加了会使得只有有差异的地方显示彩色。

第二步,采用更好的diff算法

Plugin 'chrisbra/vim-diff-enhanced'

在.vimrc里,指定用更佳的算法来进行diff

let &diffexpr='EnhancedDiff#Diff("git diff", "--diff-algorithm=patience")'

这里采用了patience算法。h EnhancedDiff可以看到更多可选的算法。

需要提及的是这个插件实际上利用了Git Diff作为外部工具。需要1.8版本以上的Git配合才可以正常使用

第三步,将vimdiff配置成git的diff和merge工具

[diff]
    tool = gvimdiff
[difftool]
    prompt = false
[merge]
    tool = gvimdiff
[mergetool]
    prompt = false

至此设置完成。使用gvimdiff可以直接比较两个不同的文件,也可以使用git difftool和git mergetool在git环境下观察code change

在vimdiff窗口下的操作

]c 下一个差异
[c 上一个差异
do 将另一个buffer中的当前差异内容复制到活动buffer中来
dp 把活动buffer中的当前差异内容复制到另一个buffer中去

最后提一下另一个相关的插件,dirdiff

Plugin 'will133/vim-dirdiff'

安装了这个插件后,可以在vim的窗口中调用

:DirDiff <dir1> <dir2>

来比较两个目录的内容,下面是一个截图。需要说明的是DirDiff并不会默认调用前面设置的配置方案,而需要手工再调用一次

使用vimdiff做git的diff与merge工具相关推荐

  1. 免费好用的Diff和Merge工具大总结

    总结:比较下来:diffmerge和P4merge最好用,kdiff比较专业些,支持自动merge. 一 csdiff 下载:http://www.componentsoftware.com/Prod ...

  2. 免费好用的文件比较Diff和Merge工具总结

    总结:比较下来:diffmerge和P4merge最好用,kdiff比较专业些,支持自动merge. 一  csdiff 下载:http://www.componentsoftware.com/Pro ...

  3. [转]ubuntu使用meld/beyond compare 做git的diff工具

    文章目录 使用meld作为比较工具 使用BeyondCompare作为比较工具 以下只针对Ubuntu,其他系统自己斟酌修改 使用meld作为比较工具 安装meld sudo apt-get inst ...

  4. git diff:Linux使用meld做git的diff工具

    使用场景:当更新代码发生冲突时,需要解决冲突.使用meld工具可以提高效率 ==================     Linux云桌面:设置git diff 的比较工具为 meld    ==== ...

  5. ubuntu使用meld/beyond compare 做git的diff工具

    文章目录 使用meld作为比较工具 使用BeyondCompare作为比较工具 以下只针对Ubuntu,其他系统自己斟酌修改 使用meld作为比较工具 安装meld sudo apt-get inst ...

  6. git添加diff tool和merge tool

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.安装beyong compare 4 二.git配置 1.命令行配置 2.配置文件配置 三.使用 前言 使用git ...

  7. git merge工具 meld

    当我们想将master分支和其他分支比如tmp分支合并的话 1.将分支切换到master并且保证git status的状态如下 2.输入指令开始合并分支 git merge tmp 会出现有些合并成功 ...

  8. winmerge 保存为html,使用WinMerge作为git的Merge工具

    使用WinMerge作为git的Merge工具 我比较喜欢使用免费的WinMerge作为diff和merge工具,虽然TortoiseGit也自己带了TortoiseGitMerge工具,但是使用起来 ...

  9. ubuntu下git使用Beyond Compare来做diff和merge方法

    之前我写过一篇文章, git使用vimdiff来做diff比较的 ,原文链接: https://blog.csdn.net/ballack_linux/article/details/56670311 ...

最新文章

  1. 当 AI 开始“入侵”人类
  2. 高速串行总线的设计基础(一)同步时序模型介绍
  3. 不可小瞧的GetHashCode函数
  4. 回溯算法-02遍历所有组合方式问题
  5. (译)利用ASP.NET加密和解密Web.config中连接字符串
  6. java项目定时任务_java项目定时任务实现
  7. Windows 8 C++/CX字符串
  8. c语言switch scanf语句,C语言中scanf函数与switch语句
  9. MediaProxy的Web监控界面及多Relay情景配置
  10. 7-42 关于堆的判断 (25 分)
  11. svn: E155004 is already locked 解决方案
  12. Java 代码实现pdf转word文件 | 无水印 | 无页数限制
  13. 2018通达信l2服务器源码,很后悔购买了通达信L2看盘软件,大家不要再买进这个软件了...
  14. RPGViewer - 游戏常用压缩算法的介绍和识别
  15. 线性可分支持向量机与软间隔最大化
  16. 微信小程序电子签名及图片生成
  17. mysql ndb存储引擎_ndb 存储引擎
  18. 毛玻璃效果 php,CSS3打造磨砂玻璃背景效果
  19. cf英文名字格式好看的_CF英文名字大全 穿越火线英文名字设计
  20. 别总说CMS、G1,该聊聊ZGC了

热门文章

  1. java后台icon font 图标替换
  2. 如何阻止事件冒泡与默认事件?
  3. 单例模式《单例模式概念、什么时候能用到单例模式、单例模式的好处》
  4. MTU问题,为何抓包到1514
  5. 思维导图到底是什么-图说思维导图定义
  6. MITK中窗宽窗位相关代码
  7. 查看tomcat的端口号
  8. Y05 - 024、数据的应用①:四则运算、运算优先级
  9. tf.meshgrid
  10. Linux——Linux账号与群组