Vim常用命令及用法 1切換插入模式:命令模式下a (小寫)游標之後進行插入A (大寫)游標所在行尾進行插入i (小寫)游標前開始進行插入I (大寫)游標所在行首進行插入o (小寫)游標所在行後新插入一空行進行插入O (大寫)游標所在行前新插入一空行進行插入插入模式下按ESC鍵返回命令模式2 切換到編輯模式命令模式下按【:】進入編輯模式,鍵入命令斷行符號後自動返回到命令模式或按ESC鍵返回到命令模式。3 儲存檔案編輯模式下:w (小寫)儲存檔案:wq (小寫)儲存並退出vim:w 檔案名稱1 將檔案另存新檔檔案名稱1:ZZ (大寫)儲存檔案並退出,相當於:wq:wq! (小寫)檔案所有者強制儲存唯讀檔案,如果不是檔案所有者進行此操作,不能成功:q! 退出不儲存檔案4 複製(yank)命令模式下yy或 Y 複製游標所在整行y^ 複製到游標所在行行首,不包括游標位置字元y$ 複製到游標所在行行尾,包括游標位置字元yw 複製一個單詞,游標必須在單詞首部yG 複製到檔案尾y1G 複製到檔案首nyy 複製游標所在行開始的n行5 粘貼命令模式下p (小寫)粘貼到游標後P (大寫)粘貼到游標前6 刪除命令模式下x (小寫)刪除游標前一個字元X (大寫)刪除游標後一個字元dd (小寫)刪除游標所在整行dw (小寫)刪除游標所在處一個單詞dG 刪除游標所在整行到檔案尾dgg 刪除游標所在整行到檔案首D (大寫)刪除到行尾,包含游標處的字元d$ 與D效果相同d0 刪除到行首,不包含游標處的字元d^ 與d0效果相同:n1,n2d 編輯模式下,刪除n1-n2行7撤銷命令模式下u (小寫)無限次儲存前撤銷(大概500多次)ctrl+r redo8 字元替換命令模式下r (小寫)替換游標所在處一個字元R (大寫)開始替換,直到按ESC鍵退出替換,相當於按下鍵盤上到insert鍵cc (小寫)取代游標所在整行S (大寫)與ss(小寫)效果相同C (大寫)取代到行尾,包括游標處字元c0 (小寫,數字0)取代到行首,不包括游標處字元c^ (小寫)與c0(小寫,數字0)效果相同9 字串尋找和替換命令模式下/string 從游標處開始向下開始尋找字串string/尋找模式下按n(小寫)尋找下一個,按N(大寫)尋找上一個?string 從游標處開始向上開始尋找字元從string?尋找模式下按n(小寫)尋找上一個,按N(大寫)尋找下一個* 向下完整匹配游標下的單詞# 向上完整匹配游標下的單詞g* 向下部分匹配游標下的單詞g# 向上部分匹配游標下到單詞編輯模式下:set ic 尋找時,忽略大小寫:set noic 取消尋找時忽略大小寫:f string (小寫f與string有空格)搜尋一行中匹配到的string:%s/old/new/g 全文將old替換為new,不提示:%s/old/new/c 全文將old替換為new,提示是否替換:n1,n2s/old/new/g n1-n2行中,將old替換為new,不提示:n1,n2s/old/new/c n1-n2行中,將old替換為new,提示是否替換在替換文本old或new中有/字元時,需要用\進行轉義10 顯示行號編輯模式下:set nu(mber) 顯示行號:set nonu 取消顯示行號:set nu! 取消顯示行號 11 簡單排版編輯模式下:ce(nter) 置中顯示光線標所在行:ri(ght) 靠右顯示光線標所在行:le(ft) 靠左顯示光線標所在行命令模式下J 將游標所在下一行合并到游標所在行>> 游標所在行增加縮排(一個tab)<< 游標所在行減少縮排(一個tab)n>> 游標所在行開始的n行增加縮排n<< 游標所在行開始的n行減少縮排12 書籤命令模式下mx 設定書籤,x是任意一個字母,通常小寫(a-z),x為小寫字母時,局限在一個檔案之間切換;大寫字母時,可在檔案之間切換.`x (`位於數字鍵1旁邊)跳轉到書籤x編輯模式下:marks 查看標籤13 游標移動方式命令模式下H (大寫,Head)移動到螢幕頂第一個非空白字元M (大寫,Mid)移動到螢幕中間第一個非空白字元L (大寫,Last)移動到螢幕底部第一個非空白字元( (左小括弧)移動到上一個句子首) (右小括弧)移動到下一個句子首{ (左大括弧)移動到上一個段落首} (右大括弧)移動到下一個段落首% 游標跳轉到匹配到括弧處,支援{}()[[ 游標跳轉到代碼塊開頭即{處,要求{獨佔一行gD 游標跳轉到局部變數定義處'' (兩個單引號)游標跳轉到上次停靠處h (小寫)游標左移一個字元,相當於左方向鍵l (小寫)游標右移一個字元,相當於右方向鍵k (小寫)游標垂直上移一行,相當於上方向鍵j (小寫)游標垂直下移一行,相當於下方向鍵ctrl+f (forword)向下整頁翻頁ctrl+b (backward)向上整頁翻頁ctrl+u (up)向上翻半頁ctrl+d (down)向下翻半頁zz (小寫)讓游標所在行居於螢幕中央zt (小寫)讓游標所在行居於螢幕最頂部zb (小寫)讓游標所在行居於螢幕底部編輯模式下:n 指定移動到第n行14 數字首碼與重複命令模式下將數字加在命令前,標示該命令處理幾次,如5dd標示執行5次dd(刪除游標所在整行)操作。. (英文句號)為命令重複命令,按下一次執行一次上一次執行過的命令。15 瀏覽目錄編輯模式下:e 目錄 列出指定目錄下的檔案和目錄16 vim技巧技巧1 匯入檔案或shell命令執行結果編輯模式下:r 檔案名稱1 將檔案1內容引入到本檔案中:!shell命令 在vim中執行shell命令,執行完後按斷行符號會到vim介面:r !shell命令 (r與!之間有空格)將shell命令執行的結果匯入到本檔案中技巧2 自訂快速鍵操作編輯模式下:map ^x 命令 (map與^之間、x與命令之間有空格,此處到^並非鍵盤上的^,而是按下ctrl+v出現到快速鍵,表示ctrl鍵,後面到x為任意字母)按下ctrl+x後會執行對應到命令例::map ^p I#<ESC> 當按下ctrl+p快捷按鍵組合時,在游標所在行行首添加一個#號,並回到命令模式技巧3 連續行注釋編輯模式下:n1,n2/^/#/g (#號為注釋符號,在shell中注釋符號為#,C++中為//):n1,n2/^/\/\//g C++源檔案多行連續注釋技巧4 替換:ab string1 string2 在vim中輸入string1按空格或斷行符號後,string1會自動替換為string2:unab string1 取消string1的替換vim設定檔~/.vimrc可將編輯模式下的命令寫在裡面,每個命令單獨一行,這樣每次啟動時,會自動執行裡面的命令。