五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網 會員登陸 & 注冊

oeasy教您玩轉vim - 67 - # 批量替換

2021-11-22 09:10 作者:oeasy  | 我要投稿

批量替換

回憶上次

  • 我們可以用vimdiff快速的比較文件

  • 這很實用?。?!

  • 實用的一些跳轉方式

  • 遍歷所有的修改change

    • ]c 下一條修改

    • [c 上一條修改

  • 遍歷所有的函數method

    • ]m 下一條修改

    • [m 上一條修改

  • 面對不同點

    • 把當前的改成對比的 - do - diff obtain

    • 把對比的改成當前的 - dp - diff put

  • 關于多窗口

  • 還有什么好玩的嗎???

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

  • vi -o o1 o2

  • :windo normal Ioeasy

    • windo 所有窗口都執(zhí)行

    • normal 進入普通模式

    • Ioeasy 插入oeasy

  • :windo normal o

    • windo 所有窗口都執(zhí)行

    • normal 進入普通模式

    • o 換行

  • :windo normal "%p

    • windo 所有窗口都執(zhí)行

    • normal 進入普通模式

    • "%p 粘貼各自文件名

批量替換

  • :windo %s/oeasy/o2z/g

    • windo 所有window窗口都進行

    • %s/oeasy/o2z/goeasy 替換為 o2z

    • 然后可以:wqall 全部保存

批量細節(jié)

  • 可以設置range,這個指的是window編號

    • :1,3windo normal Ioeasy

  • 可以執(zhí)行批處理序列,用|隔開各個命令

    • :windo %s/oeasy/o2z/g| %s/o2z/o3z/g

    • 這樣就可以執(zhí)行兩條替換命令了

    • :windo set nolist nofoldcolumn | colorscheme blue ?

bufdo

  • 除了windo

  • 我們還可以對每一個buffer執(zhí)行命令

    • :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

  • 我們還有一種批量執(zhí)行命令的方式

  • :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\>/My_Foo/ge | update ? ?

  • 可以用:args查看相應的參數列表

  • 可以用:argd刪除參數

  • 可以用:arga添加參數

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

  • vi **/*.html

    • 把2級目錄下所有html用vim打開

  • :args

    • 觀察所有參數

  • :argdo %s/<img src=\"\(.\{-}\)\" title=\"\(.\{-}\)\" \/>/[!\2]\1 | update

    • 替換img標簽

  • :argdo %s/<a href=\"\(.\{-\})\">\(.\{-\}\)<\/a>/[\2]\1/g | update

    • 替換a標簽

  • :%s/<h1>\(.*\)</h1>/- \1/gc

    • 替換h1標簽

  • :%s/<h2>\(.*\)</h2>/ ? ? ? ?- \1/g

    • 替換h2標簽

之前 - zs

  • 要求

    • oeasy.org 替換為 oeasy.io

    • 但是 vim.org 不替換

  • /oeasy\zs.org

    • 查找前面有oeasy.org

  • :%s/oeasy\zs.org/.io/g

    • 前面是 oeasy .org 換成 .io

  • :%s/\<o.*\zs.org/.io/g

    • o 為單詞開頭的 .org 都替換

多文件替換

  • :argdo %s/\<o.*\zs.org/.io/g | update

    • 對所有的arguments參數

    • 執(zhí)行全文批量替換

    • 并且更新

  • /^\s*\zsif

    • 開頭只有空格和tab的if

  • /\(.\{-}\zsFab\)\{3}

    • 第三個 Fab

之后 - ze

  • end\ze\(if\|for\)

    • endifendfor 中的 end

綜合應用

  • \<o.*\ze\.o.g

    • o 開頭的

    • 后面跟 o 什么 g

  • :bufdo %s/\<o.*\ze\.o.g/ooo/g

    • 把以 o 開頭的、后面跟 o 什么 g 的單詞都換成 ooo

    • 對于所有的 buffers

    • 全文替換

總結

  • 這次有三種批量替換,分別是

    • :windo

    • :bufdo

    • :argdo

    • 執(zhí)行的{cmd}可以用按順序增加

  • 分別對應的

    • windows

    • buffers

    • arguments

  • 各有各自的列表、切換、刪除增加的方式

  • 以什么開始、結束的模式

    • zs

    • ze

  • 關于 window 窗口容器

    • 我們切得越細

    • 可用的范圍越小

    • 總共 80*24 的屏幕資源很快就用完了

  • 我又想多線程訪問

  • 又想有足夠的屏幕來編輯

  • 那怎么辦呢???

  • 除了window之外還有容器嗎???

  • 下次再說 *

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


oeasy教您玩轉vim - 67 - # 批量替換的評論 (共 條)

分享到微博請遵守國家法律
偏关县| 镇原县| 榕江县| 南溪县| 比如县| 合水县| 宁波市| 廊坊市| 三江| 蓬安县| 庆云县| 突泉县| 靖州| 北安市| 曲水县| 高安市| 油尖旺区| 钦州市| 兴城市| 辽宁省| 铜川市| 丰城市| 增城市| 安达市| 麟游县| 江山市| 贵德县| 阜宁县| 兴仁县| 沙河市| 临湘市| 宁晋县| 印江| 连云港市| 甘洛县| 徐水县| 奉新县| 通辽市| 济源市| 耒阳市| 工布江达县|