Vim vimdiff详解

回忆上次

观察对比

  • 首先编辑一个go.java

图片描述

  • 连续数字产生方法
    • ctrl-v进入块·可视化
    • 纵向选中1
    • g之后ctrl-a
    • 完成加法操作

进行修改

  • 对于这个go.java复制粘贴出一个副本
    • :saveas go2.java
    • :e go2.java
    • 新增一行
    • 修改一行
    • 删除一行
  • 然后保存并退出vim

进行比较

  • vimdiff go.java go2.java
  • vimdiff 就是专门用比较的
  • 后面两个参数是待比较的文件

图片描述

  • {1..9}行被折叠了
    • 因为都是相同的
  • 16行有修改
    • 紫色的
  • 19行被删除了
    • 左蓝色右青色
    • 右边是-----------
  • 22行是增加的一行
    • 左青右蓝
    • 左边是-----------

编辑的时候比较

  • :vi go.java
  • 如果文件已经打开
  • :vertical diffsplit go2.java 可以开启比较
    • 如果vertical被省略
    • 就会横向打开文件
  • 同步滚动
    • 属性为scrollbind
    • 默认同步滚动
    • 可取消同步
  • 遍历所有的修改change
    • ]c 下一条修改
    • [c 上一条修改
    • 其中
      • [] 指的是跳转
      • c 指的是 change 变化
  • 根据当前光标位置
    • 把当前的改成对比的
      • do
      • diff obtain
    • 把对比的改成当前的
      • dp
      • diff put

总结

  • 我们可以用vimdiff快速的比较文件
  • 这很实用!!!
  • 实用的一些跳转方式
  • 遍历所有的修改change
    • ]c 下一条修改
    • [c 上一条修改
  • 遍历所有的函数method
    • ]m 下一条修改
    • [m 上一条修改
  • 面对不同点
    • 把当前的改成对比的 - do - diff obtain
    • 把对比的改成当前的 - dp - diff put
  • 关于多窗口
  • 还有什么好玩的吗?🤔
  • 下次再说 👋

教程来源于Github,感谢overmind1980大佬的无私奉献,致敬!

技术教程推荐

零基础学Python -〔尹会生〕

数据结构与算法之美 -〔王争〕

设计模式之美 -〔王争〕

.NET Core开发实战 -〔肖伟宇〕

NLP实战高手课 -〔王然〕

代码之丑 -〔郑晔〕

说透区块链 -〔自游〕

计算机基础实战课 -〔彭东〕

AI 应用实战课 -〔黄佳〕