批量替換

回憶上次

  • 我們可以用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)于多窗口
  • 還有什么好玩的嗎?????

回憶同時(shí)打開2個(gè)文件執(zhí)行windo

  • vi -o o1 o2
  • :windo normal Ioeasy
    • windo 所有窗口都執(zhí)行
    • normal 進(jìn)入普通模式
    • Ioeasy 插入oeasy
  • :windo normal o
    • windo 所有窗口都執(zhí)行
    • normal 進(jìn)入普通模式
    • o 換行
  • :windo normal "%p
    • windo 所有窗口都執(zhí)行
    • normal 進(jìn)入普通模式
    • "%p 粘貼各自文件名

批量替換

  • :windo %s/oeasy/o2z/g
    • windo 所有window窗口都進(jìn)行
    • %s/oeasy/o2z/goeasy 替換為 o2z
    • 然后可以:wqall 全部保存

批量細(xì)節(jié)

  • 可以設(shè)置range,這個(gè)指的是window編號(hào)
    • :1,3windo normal Ioeasy
  • 可以執(zhí)行批處理序列,用|隔開各個(gè)命令
    • :windo %s/oeasy/o2z/g| %s/o2z/o3z/g
    • 這樣就可以執(zhí)行兩條替換命令了
    • :windo set nolist nofoldcolumn | colorscheme blue

bufdo

  • 除了windo
  • 我們還可以對(duì)每一個(gè)buffer執(zhí)行命令
    • :bufdo %s/oeasy/o2z/g| %s/o2z/o3z/g
    • 可以設(shè)置 autowrite 自動(dòng)保存
    • 也可以設(shè)置 hidden 支持未修改buffer隱藏
    • 還可以 :bufdo %s/oeasy/o2z/g| %s/o2z/o3z/g|update 自動(dòng)更新
  • :ls:buffers 查看當(dāng)前的buffers列表
  • :bd1:bd o2z.txt?可刪除buffers
  • e .可打開新的buffer緩沖
  • 可以用:b1選擇緩存

argdo

  • 我們還有一種批量執(zhí)行命令的方式
  • :argdo %s/oeasy/o2z/g| %s/o2z/o3z/g
  • 打開.c文件,設(shè)置文件格式并更新
    • :args *.c
    • :argdo set ff=unix | update
  • 打開.c.h文件,批量替換并更新
    • :args *.[ch]
    • :argdo %s///My_Foo/ge | update
  • 可以用:args查看相應(yīng)的參數(shù)列表
  • 可以用:argd刪除參數(shù)
  • 可以用:arga添加參數(shù)

把網(wǎng)頁(yè)文件批量替換md文件

之前 - zs

多文件替換

之后 - ze

綜合應(yīng)用

總結(jié)

[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)