1. 啟動vim編譯器 vim filename 打開原有的文件或創建一個新文件。 vim 打開一個新文件,在編輯過程中或結束編輯時再指定文件名。 vim –r filename 恢復因意外停機或終端連接中斷而未及時保存最終編輯結果的文件。 view filename 以只讀方式打開文件。除了不能把編輯處理的最終結果寫入文件保存之外,view的所有編輯功能均與vim無異。 2. 光標定位命令 ←↑↓→ 將光標左移、上移、下移或右移一個字符(行)位置。 h j k l 同上。 - 光標上移一行。 Enter鍵(或加號“+”)光標下移一行。 退格鍵 將光標左移一個字符位置。 空格鍵 將光標右移一個字符位置(命令模式)。 Ctrl+F 往下(文件結尾方向)滾動一屏。 Ctrl+B 往上(文件開始方向)滾動一屏。 Ctrl+D 往下滾動半屏。 Ctrl+U 往上滾動半屏。 Ctrl+E 編輯窗口中的文件內容整體上移一行。 Ctrl+Y 編輯窗口中的文件內容整體下移一行。 w 將光標右移一個字。光標停留在下一個字的字首位置。 W 將光標右移一個字。光標停留在下一個字的字首位置(即使兩個字之間存在標點符號)。 b 將光標左移一個字。光標停留在下一個字的字首位置。 B 將光標左移一個字。光標停留在下一個字的字首位置(即使兩個字之間存在標點符號)。 e 把光標移至當前所在字(或下一個字)的最后一個字符位置。 E 同上,只是以空格字符作為字的分隔符。 ^ 把光標移至當前行的起始位置,也即當前行的第一個非空白字符位置 0(零) 同上 $ 把光標移至當前行的行尾,也即當前行的最后一個字符位置。 H 把光標移至編輯窗口頂部第一行的行首位置。 M 把光標移至編輯窗口中間一行的行首位置。 L 把光標移至編輯窗口底部最后一行的行首位置。 3. 插入文本數據 a 在光標當前所在字符位置的后面輸入文本數據。 A 在光標當前所在行的行尾(也即最后一個字符位置)后面輸入文本數據。 i 在光標當前所在字符位置的前面輸入文本數據。 I 在光標當前所在行的行首(也即在第一個非空白的起始字符)前面輸入文本數據。 o 在光標當前所在行下面的行首位置輸入文本數據。 O 在光標當前所在行上面的行首位置輸入文本數據。 4. 修改文本 C 替換當前文本行光標所在字符位置之后的所有數據,以Esc鍵結束。 cw 替換光標當前所在字符位置及之后的整個字或部分字,以Esc鍵結束。 [n]cc 替換當前行,或從當前行開始的n行文本,以Esc鍵結束。 [n]s 替換光標當前所在位置的單個字符,或從光標當前位置開始的n個字符,以Esc鍵結束。 S 替換當前行,以Esc鍵結束。 r 替換光標當前所在位置的單個字符。 r<Enter> 斷行。也可使用“a”或“i”命令加Enter及Esc鍵實現。 R 從光標當前所在的字符位置開始,替換隨后的所有字符,直至按下Esc鍵。 xp 交換字符位置。交換光標當前所在位置開始字符位置。 ~ 轉換光標當前所在位置字符的大小寫。 u 撤銷最近一次執行的編輯命令,或依次撤銷先前執行的編輯命令。 :u 同上(ex編輯命令)。 U 撤銷施與當前文本行的編輯處理。 5. 刪除文本 [n]x 刪除光標當前所在位置的字符,或刪除從光標當前位置開始的n個字符。 [n]X 刪除光標當前所在位置的前一個字符,或刪除光標當前所在位置之前的n個字符。 dw 刪除光標當前所在位置的一個整字或部分字符。如果光標在字首,則刪除整字。如果光標在字的中間任何位置,則刪除光標位置及之后的字符。 [n]dd 刪除光標當前所在的文本行,或刪除從當前行開始的n個文本行。 D 刪除當前文本行從光標位置開始之后的所有字符。 dG 刪除從當前行開始直至文件最后一行的所有文本行。 d[n]G 刪除從文件的第n行開始直至當前行的所有文本行。 :line#1,line#2 d 刪除從指定的行號line#1到line#2之間的所有文本行。 6. 復制與移動文本 [n]yy 復制光標當前所在的文本行,或從當前行開始的n個文本行。 [n]Y 同上。 p(小寫) 把復制或刪除(“dd”命令)的文本行粘貼到光標所在行的下面。 P(大寫) 把復制或刪除(“dd”命令)的文本行粘貼到光標所在行的上面。 :line#1,line#2 co line#3 把第line#1~line#2行復制到第line#3行之后。 :line#1,line#2 m line#3 把第line#1~line#2行移至第line#3行之后。 7. 設置行號顯示 :set nu 在編輯期間增加臨時行號。 :set nonu 撤銷行號顯示(默認情況)。 Ctrl+G 顯示當前文件的名字和當前文本行的行號。 8. 設置大小寫字母檢索準則 :set ic 檢索字符串時忽略字母的大小寫。 :set noic 檢索字符串時嚴格區分字母的大小寫(默認情況)。 9. 定位文本行 G 將光標移至文件的組后一行。 [n]G 將光標移至文件的第n行。 10. 檢索與替換 :/string 向前(文件結尾方向)檢索指定的字符串。 :?string 向后(文件開頭方向)檢索指定的字符串。 n 將檢索方向找出下一個匹配的字符串。 N 逆檢索方向找出前一個匹配的字符串。 :[g]/search/s//replace/[g][c] 檢索并替換字符串。 11. 清除屏幕 Ctrl+L 清除因其他進程的輸出信息而干擾的編輯窗口。 12. 合并文件與合并行 :r filename 在光標所在行之后插入指定文件的內容。 : line#1 r filename 在第line#1行之后插入指定文件的內容。 J 把相鄰的兩個文本行個并為一行(把下一行合并到光標當前所在行的后面)。 13. 保存編輯結果與退出vim編輯器 :w 保存編輯處理后的結果(把內存緩沖區中的數據寫到文件中)。 :w! 強制保存編輯處理后的結果。 :wq 保存編輯處理后的結果,然后退出vim編輯器。 :wq! 強制保存編輯處理后的結果,然后退出vim編輯器。 ZZ 保存編輯處理后的結果,然后退出vim編輯器。 :q 在未做任何編輯處理時,可以使用此命令退出vim編輯器。 :q! 強制退出vim編輯器,放棄編輯處理后的結果。 :w filename 把編輯處理后的結果寫到指定的文件中保存。 :w! filename 把編輯處理后的結果強制寫到指定的文件中保存,即使文件已經存在。 :wq! filename 把編輯處理后的結果強制寫到指定的文件中保存,即使文件已經存在,然后退出vim編輯器。 14. 其他 ;f 或 Ctrl+G 顯示文件的名字、編輯狀態、文件總的行數、光標當前所在行號和列號,以及當前行之前的行數占整個文件總行數的百分比。 Ctrl+V 輸入控制字符。 |