oeasy教您玩转vim - 66 - # 比较修改模式 vimdiff
vimdiff
回忆上次
上次有三种批量替换,分别是
:windo
:bufdo
:argdo
执行的
{cmd}
可以用|
按顺序增加update
自动更新:set autowrite
自动写入:set hidden
可以隐藏未保存buffer
分别对应的
window
、buffers
、arguments
各有各自的列表、切换、删除、增加的方式
多文件多窗口还有什么可玩的么?🤔
下次再说 *
观察对比
首先编辑一个
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
指的是change
变化]c
下一条修改[c
上一条修改其中
根据当前光标位置
dp
diff put
do
diff obtain
把当前的改成对比的
把对比的改成当前的
总结
我们可以用vimdiff快速的比较文件
这很实用!!!
实用的一些跳转方式
遍历所有的修改change
]c
下一条修改[c
上一条修改遍历所有的函数method
]m
下一条修改[m
上一条修改面对不同点
把当前的改成对比的 - do - diff obtain
把对比的改成当前的 - dp - diff put
关于多窗口
还有什么好玩的吗?🤔
下次再说 *
[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (https://gitee.com/overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)