Linux vim編輯命令總結

來源:互聯網
上載者:User

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                              輸入控制字元。

本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/PonLCan/archive/2009/10/20/4704051.aspx

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.