歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Vim常用命令及用法

Vim常用命令及用法

日期:2017/3/1 14:02:36   编辑:關於Linux
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 redo 8 字符替換 命令模式下 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 可將編輯模式下的命令寫在裡面,每個命令單獨一行,這樣每次啟動時,會自動執行裡面的命令。
Copyright © Linux教程網 All Rights Reserved