今天學習到了一種非常好玩方便的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的巨集只需一分鐘,...