vi的基本使用方法及其相關(guān)命令介紹
vim編輯器的三種模式:一般模式、編輯模式和命令行模式
在一般模式中可以進(jìn)行刪除、復(fù)制和粘貼的功能,但是無法編輯文件內(nèi)容。從一般模式切換到編輯模式可以按下i、I、o、O、a、A、r、R鍵。按下Esc鍵可以回到一般模式。在一般模式中輸入:、/、?三個中的任意一個可以將光標(biāo)移到最下面的一行。在這個模式中可以提供查找數(shù)據(jù)的操作,而讀取、保存、大量替換字符、離開vii、顯示行號等操作則是在此模式中完成的。需要注意的是,編輯模式與命令行模式之間是不能互相切換的。
下面列出平時用的最多的vi命令:
移動光標(biāo)的方法:
[Ctrl]+[f]:屏幕向下移動一頁,相當(dāng)于[PageDown]按鍵。
[Ctrl]+[b]:屏幕向上移動一頁,相當(dāng)于[PageUp]按鍵。
0或功能鍵[Home]:移動到這一行的最前面字符處。
$或功能鍵[End]:移動到這一行的最后面字符處。
G:移動到這個文件的最后一行。
gg:移動到這個文件的第一行,相當(dāng)于1G.
N[Enter]:N為數(shù)字,光標(biāo)向下移動N行。
查找和替換:
/word:向下尋找一個名稱為word的字符串。
?word:向上尋找一個名稱為word的字符串。
:n1,n2s/word1/word2/g:在第n1行和n2行之間尋找word1這個字符串,并且將其替換為word2.
:1,$s/word1/word2/g:從第一行到最后一行尋找word1這個字符串,并且將其替換為word2.
:1,$s/word1/word2/gc:從第一行到最后一行尋找word1這個字符串,并且將其替換為word2.且在替換前顯示提示字符給用戶確認(rèn)是否需要替換。
刪除、復(fù)制和粘貼:
x,X:在一行字中,x為向后刪除一個字符(相當(dāng)于[Del]鍵),X為向前刪除一個字符(相當(dāng)于[Backspace])。
dd:刪除光標(biāo)所在的一整行。
ndd:刪除光標(biāo)所在的向下n行。
yy:復(fù)制光標(biāo)所在的一行。
nyy:復(fù)制光標(biāo)所在的向下n行。
p,P:p為將已復(fù)制的內(nèi)容在光標(biāo)的下一行粘貼,P則為粘貼在光標(biāo)的上一行。
u:復(fù)原前一個操作。
[Ctrl]+r:重做上一個操作。
.:小數(shù)點,重復(fù)前一個操作。
一般模式切換到編輯模式:
i,I:進(jìn)入插入模式,i為從目前光標(biāo)所在處插入。I為在目前所在行的第一個非空格字符處開始插入。
a,A:進(jìn)入插入模式。a為從目前光標(biāo)所在處的下一個字符處開始插入。A為從所在行的最后一個字符處開始插入。
o,O:進(jìn)入插入模式。o為在下一行插入。O為在上一行插入。
r,R:進(jìn)入替換模式。r只替換光標(biāo)所在那個字符一次。R會一直替換光標(biāo)所在字符,直到按下Esc鍵。
一般模式切換到命令行:
:w:將編輯的數(shù)據(jù)寫入到硬盤中。
:q:離開vi.后面加!為強制離開。
:wq:保存后離開。:wq!為強制保存后離開。
目前主要的編輯器都有恢復(fù)功能,vim也不例外。vim是通過“保存”文件來挽回數(shù)據(jù)的。
每當(dāng)我們在用vim編輯時,vim都會自動在被編輯的文件的目錄下面再新建一個名為filename.swap的文件。這就是一個暫存文件,我們對文件filename所做的操作都會被記錄到這個文件當(dāng)中。如果系統(tǒng)意外崩潰,導(dǎo)致文件沒有正常保存,那么這個暫存文件就會發(fā)揮作用。