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

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

oeasy教您玩轉(zhuǎn)vim - 81 - # 宏macro的進(jìn)階

2022-01-05 09:20 作者:oeasy  | 我要投稿

宏的進(jìn)階 macro

回憶

  • 關(guān)于宏,上次有4個(gè)要點(diǎn)

    • qa 開(kāi)始錄制宏

    • q 結(jié)束錄制宏

    • @a 應(yīng)用宏

    • qA 追加錄制宏

  • 甚至可以編輯宏

    • "ap 把宏作為文本粘貼出來(lái)

    • 編輯之后

    • "ayy把新的宏裝在進(jìn)入a寄存器reg

  • 這個(gè)宏還可以怎么玩呢???

建立環(huán)境

  • vi oeasy.txt

  • 插入一下內(nèi)容

    • a. oeasy

    • b. o2z

    • c. o3z

    • d. o9z

錄制新宏

  • qa0W~hjq

    • qa 在a寄存器里面開(kāi)始錄制

    • 0 到行頭

    • W 跳一個(gè)大詞

    • ~ 改變當(dāng)前光標(biāo)位置字符的大小寫(xiě)

    • j 向下一行

    • q 停止錄制

  • 查看宏

    • :reg a

應(yīng)用宏

  • 正常模式下直接命令的方式

    • 應(yīng)用99行

    • 應(yīng)用到當(dāng)前行

    • @a

    • 99@a

  • u回來(lái)

  • 用命令行的方式

    • 切換模式并對(duì)2-4行執(zhí)行@a

    • 切換到normal模式并對(duì)當(dāng)前行執(zhí)行@a

    • :normal @a

    • :2,4 normal @a

  • u回來(lái)

追加宏

  • gg 回到最初

  • qAkA.<Esc>jq

    • qA 追加錄制宏到a寄存器

    • k 是為了抵消上面的 j

    • A 追加在本行最后

    • .寫(xiě)一個(gè).

    • <Esc> 退回到正常模式

    • j 向下一行

    • q 退出錄制

  • 這部分內(nèi)容,就被追加到宏a里面

    • 可以:reg a看到

    • 0W~hjkA.<esc>j

  • :% normal @a

  • u回來(lái)

修改宏 macro

  • :reg a

  • 目前0W~hjkA.<esc>j

    • jk彼此抵消

  • 在文檔最后把寄存器a中的存儲(chǔ)的宏粘貼出來(lái)

    • Go"ap出來(lái)

    • 修改為0W~A.<esc>j

  • 重新定義宏a

    • "ay$

  • 觀察宏a

    • :reg a

  • 批量執(zhí)行

    • :% normal @a

多文件執(zhí)行

  • 除了oeasy.txt之外

  • 還有o2z.txt、o3z.txt

    • :!cp oeasy.txt o2z.txt

    • :!cp oeasy.txt o3z.txt

  • 批量執(zhí)行

    • 保存所有文件修改

    • 對(duì)于args中的每個(gè)文件中的每一行執(zhí)行a這個(gè)宏

    • g global全局執(zhí)行

    • 匹配任何字符匹配每一行.*

    • 如果是o.*對(duì)應(yīng)的是以o開(kāi)頭的每一行

    • normal @a 正常模式下執(zhí)行@a

    • 列出所有參數(shù)

    • 添加當(dāng)前文件夾下的所有txt文檔

    • :arga *.txt

    • :args

    • :argdo g/.*/normal @a

    • :argdo w

快速執(zhí)行

  • @@

    • 執(zhí)行上一條宏

  • :2,5@

    • 第2-5行執(zhí)行上一條宏

遞歸執(zhí)行宏

  • 文件還是這樣的oeasy.txt

    • a. oeasy

    • b. o2z

    • c. o3z

    • d. o9z

  • qaqqa0W~j@aq

    • 停止錄制

    • 執(zhí)行宏a

    • 往下跳一行

    • 改變大小寫(xiě)

    • 跳大詞

    • 到第一列

    • 開(kāi)始錄制a

    • 把a(bǔ)宏清空

    • qaq

    • qa

    • 0

    • W

    • ~

    • j

    • @a

    • q

    • 然后運(yùn)行

    • 這樣他就是自己執(zhí)行自己

    • 直到最后一行無(wú)法再遞歸調(diào)用

    • 就自動(dòng)跳出了

    并行執(zhí)行

    • 有素材如下

      -錄制宏

      • import { FUNC1 } from "oeasy";

      • import { FUNC2 } from "o2z";

      • import { FUNC3 } from "o3z";

      • import function from "o9z";

      • import { FUNC4 } from "o9z";

      • import { FUNC5 } from "orz";

    • qa0f{gui{jq

      • 往下一行

      • 把{}里面的內(nèi)容小寫(xiě)

      • 跳到{

      • 到第1列

      • 開(kāi)始錄制宏a

      • qa

      • 0

      • f{

      • gui{

      • j

      • q 停止錄制

    • 運(yùn)行宏

      • 99@a

      • 會(huì)卡到第4行

      • 因?yàn)檎也坏絳

    • 這個(gè)時(shí)候可以并發(fā)執(zhí)行

      • :1,$ normal @a

      • 從第1行到最后一行每一行都在normal模式下執(zhí)行@a

    總結(jié)

    • 關(guān)于宏,我們回憶一下

      • qa 開(kāi)始錄制宏

      • q 結(jié)束錄制宏

      • @a 應(yīng)用宏

      • qA 追加錄制宏

      • 控制寄存器內(nèi)容其實(shí)就是控制宏

    • 宏還有一些特性

      • 可以多文件執(zhí)行宏

      • 可以并發(fā)運(yùn)行宏

      • 可以遞歸執(zhí)行宏

    • 宏是隨錄隨用的的

    • 我想把一些東西固定下來(lái),讓他到時(shí)候不用定義就能執(zhí)行

    • 可以么???

    • 下次再說(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)


    oeasy教您玩轉(zhuǎn)vim - 81 - # 宏macro的進(jìn)階的評(píng)論 (共 條)

    分享到微博請(qǐng)遵守國(guó)家法律
    武冈市| 石狮市| 小金县| 陕西省| 岳池县| 洪雅县| 吉水县| 临湘市| 炉霍县| 扶绥县| 德州市| 天台县| 嘉鱼县| 永新县| 华容县| 安陆市| 渑池县| 洪湖市| 内丘县| 仲巴县| 河津市| 色达县| 石渠县| 内江市| 琼结县| 高平市| 安远县| 娱乐| 舞阳县| 余江县| 高唐县| 许昌县| 高陵县| 东莞市| 浑源县| 乐至县| 奉化市| 叙永县| 长治县| 怀宁县| 千阳县|