oeasy教您玩轉(zhuǎn)vim - 66 - # 比較修改模式 vimdiff
vimdiff
回憶上次
上次有三種批量替換,分別是
:windo
:bufdo
:argdo
執(zhí)行的
{cmd}
可以用|
按順序增加update
自動(dòng)更新:set autowrite
自動(dòng)寫(xiě)入:set hidden
可以隱藏未保存buffer
分別對(duì)應(yīng)的
window
、buffers
、arguments
各有各自的列表、切換、刪除、增加的方式
多文件多窗口還有什么可玩的么???
下次再說(shuō) *
觀察對(duì)比
首先編輯一個(gè)
go.java

連續(xù)數(shù)字產(chǎn)生方法
ctrl-v進(jìn)入塊·可視化
縱向選中1
g之后ctrl-a
完成加法操作
進(jìn)行修改
對(duì)于這個(gè)
go.java
復(fù)制粘貼出一個(gè)副本:saveas go2.java
:e go2.java
新增一行
修改一行
刪除一行
然后保存并退出vim
進(jìn)行比較
vimdiff go.java go2.java
vimdiff
就是專(zhuān)門(mén)用比較的后面兩個(gè)參數(shù)是待比較的文件

{1..9}行被折疊了
因?yàn)槎际窍嗤?/p>
16行有修改
紫色的
19行被刪除了
左藍(lán)色右青色
右邊是
-----------
22行是增加的一行
左青右藍(lán)
左邊是
-----------
編輯的時(shí)候比較
:vi go.java
如果文件已經(jīng)打開(kāi)
:vertical diffsplit go2.java
可以開(kāi)啟比較如果
vertical
被省略就會(huì)橫向打開(kāi)文件
同步滾動(dòng)
屬性為
scrollbind
默認(rèn)同步滾動(dòng)
可取消同步
遍歷所有的修改change
[]
指的是跳轉(zhuǎn)c
指的是change
變化]c
下一條修改[c
上一條修改其中
根據(jù)當(dāng)前光標(biāo)位置
dp
diff put
do
diff obtain
把當(dāng)前的改成對(duì)比的
把對(duì)比的改成當(dāng)前的
總結(jié)
我們可以用vimdiff快速的比較文件
這很實(shí)用?。?!
實(shí)用的一些跳轉(zhuǎn)方式
遍歷所有的修改change
]c
下一條修改[c
上一條修改遍歷所有的函數(shù)method
]m
下一條修改[m
上一條修改面對(duì)不同點(diǎn)
把當(dāng)前的改成對(duì)比的 ? - do - diff obtain
把對(duì)比的改成當(dāng)前的 - dp - diff put
關(guān)于多窗口
還有什么好玩的嗎???
下次再說(shuō) *
[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (https://gitee.com/overmind1980/oeasyvim)
[藍(lán)橋?qū)嶒?yàn)樓 邀請(qǐng)碼FJWYIMGB] (https://www.lanqiao.cn/courses/2840)