oeasy教您玩转vim - 66 - # 比较修改模式 vimdiff

 

vimdiff

回忆上次

  • 上次有三种批量替换,分别是

    • :windo
    • :bufdo
    • :argdo
  • 执行的{cmd}可以用按顺序增加

    • update 自动更新
    • :set autowrite 自动写入
    • :set hidden 可以隐藏未保存 buffer
  • 分别对应的windowbuffersarguments
  • 各有各自的列表、切换、删除、增加的方式
  • 多文件多窗口还有什么可玩的么?🤔
  • 下次再说 👋

观察对比

  • 首先编辑一个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地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 vim_Linux - 蓝桥云课)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章