最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

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 - # 批量替換的評論 (共 條)

分享到微博請遵守國家法律
英德市| 唐山市| 永安市| 石城县| 瓮安县| 南江县| 苍梧县| 满城县| 阜阳市| 驻马店市| 左贡县| 巍山| 呼伦贝尔市| 绥江县| 黄龙县| 监利县| 永济市| 天镇县| 唐山市| 芜湖县| 寿光市| 台州市| 乌兰察布市| 海伦市| 容城县| 余姚市| 阆中市| 左云县| 临猗县| 永安市| 宁德市| 石楼县| 南郑县| 南京市| 长岭县| 榆中县| 鞍山市| 赫章县| 镇沅| 淅川县| 邻水|