簡明 Vim 練級攻略

基本必須     i → Insert 模式,按 ESC 回到 Normal 模式.     x → 刪當前光標所在的一個字符。     :wq → 存盤 + 退出 (:w 存盤, :q 退出)   (注::w 後能夠跟文件名)     dd → 刪除當前行,並把刪除的行存到剪貼板裏     p → 粘貼剪貼板     hjkl (強例推薦使用其移動光標,但沒必要需) →你也可使用光標鍵 (←↓↑→). 注: j 就像下箭頭     :help <command> → 顯示相關命令的幫助      插入模式     a → 在光標後插入     o → 在當前行後插入一個新行     O → 在當前行前插入一個新行     cw → 替換從光標所在位置後到一個單詞結尾的字符 快速移動     0 → 數字零,到行頭     ^ → 到本行第一個不是blank字符的位置(所謂blank字符就是空格,tab,換行,回車等)     $ → 到本行行尾     g_ → 到本行最後一個不是blank字符的位置。     /pattern → 搜索 pattern 的字符串(注:若是搜索出多個匹配,可按n鍵到下一個)          NG → 到第 N 行 (注:注意命令中的G是大寫的,另我通常使用 : N 到第N行,如 :137 到第137行)     gg → 到第一行。(注:至關於1G,或 :1)     G → 到最後一行。     w → 到下一個單詞的開頭。(默認上來講,一個單詞由字母,數字和下劃線組成)     e → 到下一個單詞的結尾。          % → 匹配括號移動,包括 (, {, [. (注:你須要把光標先移到括號上)     * 和 # → 匹配光標當前所在的單詞,移動光標到下一個(或上一個)匹配單詞(*是下一個,#是上一個)          fa → 到下一個爲a的字符處,你也能夠fs到下一個爲s的字符。     t, → 到逗號前的第一個字符。逗號能夠變成其它字符。     3fa → 在當前行查找第三個出現的a。     F 和 T → 和 f 和 t 同樣,只不過是相反方向。      拷貝/粘貼     P → 粘貼(注:p/P均可以,p是表示在當前位置以後,P表示在當前位置以前)     yy → 拷貝當前行當行於 ddP Undo/Redo     u → undo     <C-r> → redo      打開/保存/退出/改變文件     :e <path/to/file> → 打開一個文件     :w → 存盤     :saveas <path/to/file> → 另存爲 <path/to/file>     :x, ZZ 或 :wq → 保存並退出 (:x 表示僅在須要時保存,ZZ不須要輸入冒號並回車)     :q! → 退出不保存 :qa! 強行退出全部的正在編輯的文件,就算別的文件有更改。     :bn 和 :bp → 你能夠同時打開不少文件,使用這兩個命令來切換下一個或上一個文件。(注:我喜歡使用:n到下一個文件)      重複動做     . → (小數點) 能夠重複上一次的命令     N<command> → 重複某個命令N次(如 2dd-刪除2行、3p-粘貼文本3次)      連動命令     <start position><command><end position>     command:         y (粘貼)         d (刪除)         v (可視化的選擇)         gU (變大寫)         gu (變小寫)         等等          如 0y$ 命令意味着:         0 → 先到行頭         y → 從這裏開始拷貝         $ → 拷貝到本行最後一個字符     ye → 從當前位置拷貝到本單詞的最後一個字符。     y2/foo → 拷貝2個 「foo」 之間的字符串。 區域選擇     在visual 模式下,這些命令很強大,其命令格式爲:     <action>a<object> 或 <action>i<object>         action能夠是任何的命令,如 d (刪除), y (拷貝), v (能夠視模式選擇)。         object 多是:              w 一個單詞,              W 一個以空格爲分隔的單詞,              s 一個句字,              p 一個段落。         也能夠是一個特別的字符:"、 '、 )、 }、 ]。      塊操做     <Ctrl + v>     典型列編輯操做: 0 <C-v> <C-d> I-- [ESC]         ^ → 到行頭         <C-v> → 開始塊操做         <C-d> → 向下移動 (你也可使用hjkl來移動光標,或是使用%,或是別的) 自動提示     <Ctrl + n>、<Ctrl + p>     在 Insert 模式下,你能夠輸入一個詞的開頭,而後按 <Ctrl + n>或是<Ctrl + p>,自動補齊功能就出現了 宏錄製: qa 操做序列 q, @a, @@     qa 把你的操做記錄在寄存器 a。     因而 @a 會replay被錄製的宏。     @@ 是一個快捷鍵用來replay最新錄製的宏。          例:     在一個只有一行且這一行只有「1」的文本中,鍵入以下命令:         qaYp<C-a>q →             qa 開始錄製             Yp 複製行.             <C-a> 增長1.             q 中止錄製.         @a → 在1下面寫下 2         @@ → 在2 正面寫下3         如今作 100@@ 會建立新的100行,並把數據增長到 103. 可視化選擇:      v, V, <Ctrl + v>     使用 v 和 V 選擇一段文本,而後:         J → 把全部的行鏈接起來(變成一行)         < 或 > → 左右縮進         = → 自動給縮進 (陳皓注:這個功能至關強大,我太喜歡了)     在全部被選擇的行後加上點東西:         <C-v>         選中相關的行 (可以使用 j 或 <C-d> 或是 /pattern 或是 % 等……)         $ 到行最後         A, 輸入字符串,按 ESC。 引自:http://coolshell.cn/articles/5426.html
相關文章
相關標籤/搜索