可以根據以解樣本進行VIM的逐步學習 ----醉 以下注釋,根據圖示和自己實踐自己闡述,能力有限,錯誤之處,諸位可以提醒更正,謝謝~Whole 英文版 Whole 中文版 感謝 fdl 的翻譯工作 以下是學習這些基本的VIM命令的基本步驟,在學習完之後,可以依照進一步的學習和使用!!
步驟1注釋1:
1) h j k l為游標鍵,分別左下上右
2) i 插入鍵進入編輯模式,Esc鍵退出到一般模式
3) x 刪除當前游標所在字元,X刪除當前游標前的一個字元
4) A 在一行的末尾添加text,a在當前游標後添加text
5) u 執行Undo操作,Ctrl+R表示Redo
6) 0 跳到行首,$ 跳到行尾 ^跳到行首(類似正則式$和^的意義)
7) w b e移動一個單詞word(全部是字元或者符號)
8) W B E移動一個單詞WORD(以空格隔開)
9) R 進入插入編輯模式,並且對被編輯位置進行覆蓋
10) :w 儲存 :q 退出 :q! 強制退出 步驟2注釋2:
1) f 移動游標從當前位置到下一個f後跟的字元的右邊,包含此指定字元,F 方向相反為前一個,需要和操作(operator)配合操作
2) t 和 T類似f 和 F,只是它們一直到指定的字元左才停,即不包含指定的字元。
3) d 刪除操作 與上面 w f t 等配合:例如"dw"刪除下一word,"df-"從當前位置一直往前刪除到字元"-",不保留"-","dt-"刪除直到"-"但是保留"-"
4) c 刪除且進入編輯模式(類似d和i的結合),同樣可以與f t T w 等motion結合
5) j k 可以和c和d結合,刪除所有末尾或開頭的所有行
6) . 可以重複最後一次編輯的所有操作,注意是在一般模式下重複最後一次編輯操作
7) 操作和motion可以和數字組合,"d2w" 刪除後2個單詞word "d2t,"刪除知道這一行的第2個","
8) cc 和 dd 刪除當前行
9) v 進入可視模式
步驟3注釋3:
1) y 後面跟任意的motion執行copy操作
2) p (paster)粘貼,如果複製的是字元形式,則粘貼到右邊,行形式粘貼到下面
3) P 同上p操作,但是粘貼方向相反,在左邊或上面
4) yy 複製當前行
5) y 也可以在可視模式(visual mode)下工作,同時,d,c,x..等text刪除操作也將被刪除內容進行複製(這一點要注意)
6) "和a-z字元如果在複製/刪除/粘貼命令前表示選擇一個寄存器暫存
7) 在複製/刪除前的A-Z 寄存器意味進行疊加複製,就是多個複製操作的內容將被加起來
8) "*操作或者"+操作選擇系統的剪貼簿
9) o 在當前行下新其一行進入插入模式,O 操作類似o,只是在當前行的上新起一行步驟4注釋4:
1) / 是基本的尋找motion,可以和operation結合執行操作,也可以單獨使用,直接尋找匹配後面的正則式
2) ? 與/相同,但是方向相反backward,/ 方向forward
3) n 重複最後一次尋找方向, N 重複最後一次尋找的相反方向
4) * 和 # 尋找當前游標所在的實體相同的實體,前者方向向前,後者方向向後,兩者僅在vim下有效(vi not support) 步驟5注釋5:
1) m 操作後跟a-z字元用來設定一個標記mark
2) ` 後面跟a-z字元可以去這個字元表示的標記處
3) ' 和一個字元可以到所在行的第一個非空處
4) A-Z 標記為全域標記 a-z僅在每個buffer內可見
5) `. 表示到最後一個修改的地方
6) q 後跟字元a-z用來記錄宏
7) @ 後跟字元用了重放宏,@@ 重放最後一個宏 步驟6注釋6:
1) % 在配對的( 和 ) [ 和 ]等 之間跳動
2) H M L 直接跳到整個螢幕的最上面,中間和最下面
3) G 跳到檔案的末尾,G 前面跟行號表明跳到指定的行
4) - 或者 + 直接跳到前一行 或 後一行
5) K 跳到協助
6) ( 和 )跳到當前句子的最前和最後
7) { 和 }跳到前一個空行 或 後一個空行
8) [[ 跳到前一個第0列是{的位置(必須{為第0列)
9) ]] 跳到下一個第0列是}的位置 步驟7注釋7:
1) J 串連當前行和下一行在一般模式,或所有行在可是模式
2) r 後跟任一字元替換當前字元
3) C 為c$的簡寫,表示刪除當前位置到行結束並進入插入模式
4) D 為d$的簡寫,表示刪除當前到行結束
5) Y 為yy的簡寫,複製整個行
6) s 刪除當前游標所在字元並進入插入模式
7) S 清除當前行,並進入插入模式
8) > 和一個motion 表示縮排一行或多行
9) < 和一個motion 表示不縮排
10) = 和一個motion 表示重新格式化text
11) > < 和 = 工作在可視模式下,且均可重複例如>>表示縮排整個當前行
VIM還有很多需要繼續學習的,功能太強大了~!