介紹:
Vim一共分為3種模式:視圖模式戈泼、編輯模式、命令行模式
-
視圖模式(command mode):
使用Vim打開一個文件時,初始就是試圖模式盖矫。如果在其他模式想切換視圖模式丽惭,可以使用【ESC】鍵來進(jìn)入視圖模式。在視圖模式下你可以通過按鍵和組合按鍵實(shí)現(xiàn)光標(biāo)移動辈双,文本刪除责掏、復(fù)制與粘貼等動作。
-
編輯模式(insert mode):
在視圖模式下湃望,通過按下【i换衬、I、o证芭、O瞳浦、a、A废士、r术幔、R】進(jìn)入編輯模式。
-
命令行模式(command-line mode):
在視圖模式下湃密,輸入【: / ?】任意一個按鍵诅挑,就可以進(jìn)入該模式。除了提供讀取泛源、保存拔妥、顯示行號,還可以查找數(shù)據(jù)和批量替換字符达箍。
視圖模式可以在其他模式任意切換没龙,而其他模式只能通過視圖模式切換。
按鍵說明:
1. 視圖模式:
按鍵: | 功能:移動光標(biāo) |
---|---|
h或向左箭頭鍵(←) | 光標(biāo)向左移動一個字符 |
j或向下箭頭鍵(↓) | 光標(biāo)向下移動一個字符 |
k或向上箭頭蕉忻怠(↑) | 光標(biāo)向上移動一個字符 |
l或向右箭頭鍵(→) | 光標(biāo)向右移動一個字符 |
[ctrl] + [f] | 向下翻頁硬纤,相當(dāng)于[Page Down]鍵(常用) |
[ctrl] + [b] | 向上翻頁,相當(dāng)于[Page Up]鍵(常用) |
[ctrl] + [d] | 向下翻半頁 |
[ctrl] + [u] | 向上翻半頁 |
+ | 光標(biāo)移動到非空格符的下一行 |
- | 光標(biāo)移動到非空格符的上一行 |
n[space] | n表示【數(shù)字】赃磨,例如30[space]筝家,按下數(shù)字30后再按空格,光標(biāo)會向右移動30個字符 |
0或[home] | 移動到本行最前面的字符(常用) |
$或[End] | 移動到本行最后面的字符(常用) |
H | 光標(biāo)移動到屏幕最上方那一行的第一個字符 |
M | 光標(biāo)移動到屏幕中央那遺憾的第一個字符 |
L | 光標(biāo)移動到屏幕最下方那一行的第一個字符 |
G | 移動到最后一行(常用) |
nG | n為數(shù)字邻辉,表示移動到這個文件的第n行 |
gg | 移動到第一行溪王,相當(dāng)于1G(常用) |
n[Enter] | n為數(shù)字,表示向下移動n行(常用) |
按鍵: | 功能:查找與替換 |
---|---|
/word | 向后查找名稱為 word 的字符串 |
?word | 向前查找名稱為word的字符串 |
n | 前面兩個操作后緊接著按n鍵值骇,就可以重復(fù)之前的操作 |
N | 與N相反莹菱,反向重復(fù)之前的操作 |
:n1,n2s/word1/word2/g | 在第n1行和第n2行之間尋找word1這個字符串,并替換成word2(常用) |
:n1,n2s/word1/word2/gc | 與上一個類似吱瘩,只不過多了確認(rèn)(confirm)是否替換操作(常用) |
按鍵: | 功能:刪除道伟、復(fù)制與替換 |
---|---|
x與X | x為向后刪除一個字符(相當(dāng)于[del]鍵),X為向前刪除一個字符(相當(dāng)與[Backspace]绞鼓搿)(**常用) |
nx | n為數(shù)字蜜徽,連續(xù)向后刪除n個字符 |
dd | 刪除(剪切)光標(biāo)所在行(常用) |
ndd | n為數(shù)字祝懂,刪除(剪切)光標(biāo)所在行的向下n行,例如20dd則是刪除20行(常用) |
dnG | 刪除(剪切)光標(biāo)所在到第n行的數(shù)據(jù)娜汁,dG則表示刪除到最后一行 |
d0 | 刪除(剪切)光標(biāo)所在處嫂易,到該行第一個字符 |
d$ | 刪除(剪切)光標(biāo)所在處,到該行最后一個字符 |
yy | 復(fù)制光標(biāo)所在行(常用) |
nyy | n為數(shù)字掐禁,復(fù)制光標(biāo)所在行的向下n行怜械,例如20yy則是復(fù)制20行(常用) |
ynG | 復(fù)制光標(biāo)所在行到第n行的數(shù)據(jù),yG則表示復(fù)制到最后一行 |
y0 | 復(fù)制光標(biāo)所在處傅事,到該行第一個字符 |
y$ | 復(fù)制光標(biāo)所在處缕允,到該行最后一個字符 |
p與P | p為將已復(fù)制的數(shù)據(jù)在光標(biāo)下一行粘貼,P為將已復(fù)制的數(shù)據(jù)在光標(biāo)上一行粘貼(常用) |
J | 將光標(biāo)所在與下一行的數(shù)據(jù)結(jié)合成一行 |
c | 重復(fù)刪除多個數(shù)據(jù)蹭越,例如向下刪除10行障本,[10cj] |
u | 恢復(fù)前一個操作(相當(dāng)于恢復(fù))(常用) |
[ctrl] + r | 重做上一個操作(相當(dāng)于重做)(常用) |
. | 重復(fù)以上操作(常用) |
2. 視圖模式切換到編輯模式:
按鍵: | 操作:進(jìn)入編輯模式(插入、覆蓋) |
---|---|
i與I | i為在光標(biāo)處進(jìn)入插入模式(insert)响鹃;I為在光標(biāo)所在行的第一個非空字符處進(jìn)入插入模式(常用) |
a與A | a為在光標(biāo)處下一個字符進(jìn)入插入模式驾霜;A為在光標(biāo)所在行的最后一個非空字符處進(jìn)入插入模式(常用) |
o與O | o為在光標(biāo)所在的下一行處插入新的一行;O為光標(biāo)所在行的上一行插入新的一行(常用) |
r與R | 進(jìn)入替換模式买置,r只會替換光標(biāo)所在的那一個字符一次粪糙;R會一直替換關(guān)閉所在的字符,直到按下[ESC](常用) |
[Esc] | 退出編輯模式忿项,進(jìn)入視圖模式(常用) |
3. 視圖模式切換到命令行模式:
按鍵: | 功能:保存蓉冈、退出等操作 |
---|---|
:w | 將編輯的數(shù)據(jù)寫入到硬盤文件中(常用) |
:w! | 若文件屬性為【只讀】時,強(qiáng)制寫入該文件轩触。不過寞酿,到底能不能寫入,還是跟你對該文件的文件權(quán)限有關(guān) |
:q | 退出vim(常用) |
:q! | 強(qiáng)制退出不保存 |
:wq | 保存后退出脱柱,:wq!則強(qiáng)制保存后退出(常用) |
ZZ | 文件沒修過伐弹,則不保存退出,若修改則保存后在退出 |
:w [filename] | 將編輯的數(shù)據(jù)保存成另外一個文件(類似另存為) |
:r [filename] | 將編輯的數(shù)據(jù)中褐捻,讀入另外一個文件的數(shù)據(jù)掸茅,亦即將【filename】這個文件內(nèi)容加到光標(biāo)所在行后面 |
:n1,n2 w [filename] | 將n1到n2 的內(nèi)容保存為【filename】的文件 |
:! command | 暫時退出vim到命令行模式下執(zhí)行command的顯示結(jié)果。例如【:! ls /home】即可在vim當(dāng)中查看/home下面以ls輸出的文件信息 |
:set nu | 顯示行號 |
:set nonu | 取消行號 |
參考:
《鳥哥的Linux私房菜基礎(chǔ)學(xué)習(xí)篇第四版》