#
一、命令行模式下簡化刪除
1. 向后刪除單個字符:【x】
2. 向前刪除單個字符:【X】
3. 刪除從光標開始到單詞結尾:【dw】
刪除從光標后的2個單詞:【d2w】
4. 刪除整個單詞:【daw】
僅當光標停留在一個單詞開頭,【dw】才能刪除整個單詞,否則只能刪除一部分;而【daw】不考慮光標的停留位置,只要在該單詞上,則會自動刪除整個單詞
5. 刪除光標停留的那整行:【dd】
假設想連續刪除多行,則用【4dd】連續刪除4行
6. 從光標處往前刪除單詞:【db】
和【dw】的作用方向正好相反
7. 刪除光標位置到本行開頭:【d0】
8. 點命令【.】含義是重復上次修改,上次修改的單位可以是字符,整行,甚至整個文件。
因此如果刪除整行【dd】,配合【.】也可以起到重復操作的目的。
點命令最大的用處在於,每次從輸入模式到命令模式切換時,整個階段vim會記錄每一個按鍵操作,使用點命令可以重新執行所有的這些按鍵操作,就好像“一鍵回放”,我們可以把點命令當成一個宏。
比如要給結構體語句添上‘;’號
按照常規方法做會比較慢,這時候光標先移動到第一條語句上,【A】【;】【ESC】
再反復使用【j】【.】即可。
二、簡化行光標移動
1. 光標移動到行尾 【】2.光標移動到行尾並進入輸入模式,類似於【】2.光標移動到行尾並進入輸入模式,類似於【】【a】: 【A】
3. 光標移動到行尾並回車,再進入輸入模式,類似於【$】【enter】【a】: 【o】
小o的作用類似於新建一空白行
4. 光標移動到行首【^】
5. 光標移動到整個文件頭部【gg】
6. 光標移動到整個文件尾部【G】
7. 跳轉到指定的行
在編輯模式下,輸入ngg,或者nG;在命令模式下輸入行號 :n
(n為行號)
三、簡化行內光標移動
1. 光標移動到單個字符:【f】,也用於查找。比如要在本行移動光標至字符處,直接【f】即可
2. 無需輸入即可移動光標,查找:【*】
3. 【w】移動光標到下一個單詞開頭,【b】移動光標到上一個單詞開頭,兩者均可跨行
4. 配合點命令【.】以及【*】星命令,就能實現快速的查找並替換。
首先在需要被替換的單詞上按【*】,然后【a】修改第一個單詞,完成后【ESC】,此時vim已經記住了操作,剩下的就是重復【n】查找下一個,【.】回放操作。
仔細體會vim對重復操作的簡化,追求的是一鍵移動,一鍵操作修改。
