vim中巨集的錄製和使用

2021-10-08 09:06:38 字數 1391 閱讀 9938

今天學習到了一種非常好玩方便的vim處理文件的工具—巨集。

q: 對文件進行編輯時需要我進行如下操作。

將n條set sc_9t_0p9v_library_files_ccs_wcl

變為如下形式

set sc_9t_0p9v_library_voltuslib_ccs_wcl [string map $sc_9t_0p9v_library_files_ccs_wcl]

a: 需要我的操作為

1 將set 後的詞寫再複製一次放到末尾。

2 將前面的詞中files替換為voltuslib

3 將後面的詞前加上[string map $ 每行的最後加上]

1,2,3都可使用巨集來錄製,1輸入

qa

雖然看不到自己的輸入,但是在輸入這個命令後左下角變為了

此時不要隨便輸入命令了,因為從現在起,vim會記錄你的每一次行為,並且儲存在a中(同理也有b,c等等或者還有a,b,c…反正我每次只用a。)。

在這裡我們因為要複製一次set後面的那個詞。我的操作是

0wyw「按下end」a 「按下esc」pjq執行 巨集的時候,在暫存器前加 @ ,比如記錄在暫存器 a 中,要執行 10 次的話:

10@a
需要注意的是,在使用巨集時因為不會有任何的顯示,所以之間在鍵盤上按即可,你自己要小心不要按錯。

附錄:幾條常用的操作如下

 游標的移動

m 設定書籤

『 移至書籤處

0 移至該行之首

$ 移至該行之末。

e 移動到下個字的最後乙個字母

w 移動到下個字的第乙個字母。

b 移動到上個字的第乙個字母。

^ 移至該行的第乙個字元處。

h 移至視窗的第一行。

m 移至視窗的中間那行。

l 移至視窗的最後一行。

g 移至該檔案的最後一行。

+ 移至下一列的第乙個字元處。

- 移至上一列的第乙個字元處。

:n 移至該檔案的第 n 列。

n+ 移至游標所在位置之後的第 n 列。

n- 移至游標所在位置之前的第 n 列。

顯示該行之行號、檔名稱、檔案中最末行之行號、游標所在行號佔總行號之百分比。

(vim) 游標移動基本用法小解:

(這只要組合上邊的功能就可以明白了,不用再一一講解了吧!)

ge b w e

← ← —→ --→

this is-a line, with special/separated/words (and some more).

←- ←-- -----------------→ —→

ge b w e

vim 修改vim錄製的巨集

來自此部落格 二 修改巨集 可以使用以下方式修改vim暫存器a中的巨集 1 先按 g 跳轉到檔案末尾,然後按 o 新加一行後直接用 esc 退出到命令列模式 2 使用命令 ap 將暫存器a中的命令巨集貼上到當前位置,然後編輯這一行的巨集內容,編輯結束後用 0 回到行首 3 使用命令 ayy 將當前行...

Vim使用技巧(5) 巨集的錄製與使用

想象乙個場景,我們怎麼快速把下面的所有鏈結都加上雙引號?可能你手速快,可以很快的加完,但是如果鏈結有上萬個呢?你如何在十秒以內加完?這時候就需要用到 巨集 其實除了巨集vim還有其它方法加上雙引號,這裡只是用這個簡單例子說明 巨集的概念就像乙個電影一樣,我們把一系列的操作錄製到暫存器裡面,要用的時候...

Vim 筆記整理(4) 巨集錄製

我們知道.命令對重複小的修改確實有效,但想到重複更大規模的改動時,vim的巨集就派上用場了。巨集很適合對一系列相似的行 段落,甚至檔案,進行重複性修改。在錄製命令序列的過程中難免會出錯,不過用不著推翻重來,因為可以很方便地在原有巨集的結尾附加新的命令。就像黑白棋遊戲一樣,學習vim的巨集只需一分鐘,...