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
下一条修改[c
上一条修改-
其中
[]
指的是跳转c
指的是change
变化
-
根据当前光标位置
-
把当前的改成对比的
do
diff obtain
-
把对比的改成当前的
dp
diff put
-
总结
- 我们可以用vimdiff快速的比较文件
- 这很实用!!!
- 实用的一些跳转方式
-
遍历所有的修改change
]c
下一条修改[c
上一条修改
-
遍历所有的函数method
]m
下一条修改[m
上一条修改
-
面对不同点
- 把当前的改成对比的 - do - diff obtain
- 把对比的改成当前的 - dp - diff put
- 关于多窗口
- 还有什么好玩的吗?🤔
- 下次再说 👋
[Github地址] (