批量替換

回憶上次

  • 我們可以用vimdiff快速的比較文件
  • 這很實用!!!
  • 實用的一些跳轉方式
  • 遍歷所有的修改change
    • ]c 下一條修改
    • [c 上一條修改
  • 遍歷所有的函數method
    • ]m 下一條修改
    • [m 上一條修改
  • 面對不同點
    • 把當前的改成對比的 - do - diff obtain
    • 把對比的改成當前的 - dp - diff put
  • 關于多窗口
  • 還有什么好玩的嗎?????

回憶同時打開2個文件執行windo

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

批量替換

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

批量細節

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

bufdo

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

argdo

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

把網頁文件批量替換md文件

之前 - zs

多文件替換

之后 - ze

綜合應用

總結

[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (https://gitee.com/overmind1980/oeasyvim)
[藍橋實驗樓 邀請碼FJWYIMGB] (https://www.lanqiao.cn/courses/2840)