轉自:http://coolshell.cn/articles/5426.htmlhtml
基本命令:shell
i
→ Insert 模式,按 ESC
回到 Normal 模式.x
→ 刪當前光標所在的一個字符。:wq
→ 存盤 + 退出 (:w
存盤, :q
退出) (陳皓注::w 後能夠跟文件名)dd
→ 刪除當前行,並把刪除的行存到剪貼板裏p
→ 粘貼剪貼板簡單的移動光標vim
0
→ 數字零,到行頭^
→ 到本行第一個不是blank字符的位置(所謂blank字符就是空格,tab,換行,回車等)$
→ 到本行行尾g_
→ 到本行最後一個不是blank字符的位置。/pattern
→ 搜索pattern
的字符串(陳皓注:若是搜索出多個匹配,可按n鍵到下一個)
拷貝/粘貼 (陳皓注:p/P均可以,p是表示在當前位置以後,P表示在當前位置以前)code
P
→ 粘貼yy
→ 拷貝當前行
Undo/Redoorm
u
→ undo<C-r>
→ redo
打開/保存/退出/改變文件(Buffer)htm
:e <path/to/file>
→ 打開一個文件:w
→ 存盤:saveas <path/to/file>
→ 另存爲<path/to/file>
:x
,ZZ
或:wq
→ 保存並退出 (:x
表示僅在須要時保存,ZZ不須要輸入冒號並回車):q!
→ 退出不保存:qa!
強行退出全部的正在編輯的文件,就算別的文件有更改。:bn
和:bp
→ 你能夠同時打開不少文件,使用這兩個命令來切換下一個或上一個文件。(陳皓注:我喜歡使用:n到下一個文件)
讓咱們看一下vim是怎麼重複本身的:字符串
.
→ (小數點) 能夠重複上一次的命令你要讓你的光標移動更有效率,你必定要了解下面的這些命令,千萬別跳過。it
G
→ 到第 N 行 (陳皓注:注意命令中的G是大寫的,另我通常使用 : N 到第N行,如 :137 到第137行)gg
→ 到第一行。(陳皓注:至關於1G,或 :1)G
→ 到最後一行。w
→ 到下一個單詞的開頭。e
→ 到下一個單詞的結尾。最強的光標移動:io
%
: 匹配括號移動,包括(
,{
,[
. (陳皓注:你須要把光標先移到括號上)*
和#
: 匹配光標當前所在的單詞,移動光標到下一個(或上一個)匹配單詞(*是下一個,#是上一個)
你必定要記住光標的移動,由於不少命令均可以和這些移動光標的命令連動。不少命令均可以以下來幹:效率
<start position><command><end position>
例如 0y$
命令意味着:
0
→ 先到行頭y
→ 從這裏開始拷貝$
→ 拷貝到本行最後一個字符
d