vim 鍵盤巨集操作 大道至簡

2021-10-20 13:30:17 字數 1587 閱讀 4336

最近利用vim做一些文字處理時 發現vim 支援的鍵盤巨集是乙個好東西啊,高效優雅得處理大量需要重複性操作的文字,讓人愛不釋手!!!

希望接下來對鍵盤巨集的分享能夠實際幫助到大家。

後文中描述的一些vim操作會匯集成指令字串,方便大家參考。

在分享鍵盤巨集之前,先看這樣乙個文字操作需求:

對如下文字增加markdown中的鏈結形態,並為每乙個行增加乙個遞增的序號。

hashkv.pdf

compaction management in dis-tributed key-value datastores.pdf

dostoevsky.pdf

lsm-trie.pdf

noftl-kv.pdf

wb-tree.pdf

accordion.pdf

thonangi and yang.pdf

fd-tree.pdf

elasticbf.pdf

lsbm-tree.pdf

vt-tree.pdf

[1. hashkv.pdf]

([2. compaction management in dis-tributed key-value datastores.pdf]

([3. dostoevsky.pdf]

([4. lsm-trie.pdf]

([5. noftl-kv.pdf]

([6. wb-tree.pdf]

([7. accordion.pdf]

([8. thonangi and yang.pdf]

([9. fd-tree.pdf]

([10. elasticbf.pdf]

([11. lsbm-tree.pdf]

([12. vt-tree.pdf]

(

假想,我們想要完成類似功能的操作,需要處理的文字成千上萬行,這個時候我們需要用傳統的方法去操作會把人逼瘋。

而在vim的鍵盤巨集中,這僅僅只是一系列指令操作的集合,並不會消耗太多的精力。

整個過程可謂非常簡單,迅捷。只要在第一行錄製一遍鍵盤巨集,就能夠應用在所有的行上。

1. :let i=1 #初始化變數i 的值,作為行編號使用

2. :let str=

''# 初始化變數str,作為鏈結字串使用

3. qa # 開始錄製鍵盤巨集

4. i[^r=i. a]

(^r=str):let i+=1 # 操作內容,按照字母大小寫順序以及字元敲就可以了

5. q

6. v 視覺化操作選中剩餘的所有行

7. :normal @a # 對選中的行執行暫存器內的所有操作

關於第四步的暫存器操作內容如下:

學習起來有點麻煩,當多次操作熟悉之後就會發現這一些學習時間相比於成千上萬行的重複操作來說簡直是大道至簡,也讓我們更加深刻得體會到vim的神級編輯器並不是浪得虛名。

看了《大道至簡》

無意間在網上翻到這本書,粗粗的看了一遍,有點感觸。可以研究細節,但不能陷入,可以一時陷入,但不能一世陷入。當然,這對技術狂熱者或許是除外的。如果要解決問題,那麼無論何種程式語言,都是一種工具,要做的是對於當前的問題選擇適合的工具。任何一種工具都是在某個情境下才可以區分孰優孰劣。中國的一些理論,很少放...

讀大道至簡

軟體開發 方法 過程 工程 組織 演算法 結構 方法 面向過程 物件導向 過程 瀑布模型 迭代模型 工程 專案管理 進度 成本 質量 組織 體制 組織結構和制度 是乙個向外擴充套件的過程。方法 分,模組化設計 過程 增量迭代,還是瀑布模型 工程 進度 成本 質量 組織 組織結構 制度 舉乙個做生意的...

大道至簡Segment Routing

聽了一下思科服務支援社群的講座,以下為筆記 1.基礎知識 1 igp基礎 ospf和中間到中間系統協議 2 bgp基礎 3 mpls 多協議標籤交換 2.模擬器為ios xrv 6.0.1 3.sr架構基於源路由。節點擊擇路徑,並且引導資料報沿著該路徑通過網路,做法是在資料報頭中插入帶順序的段列表,...