上一小篇Linux程序編輯器(一)中碉钠,已經(jīng)介紹了vim的三個模式流妻,接下來說明下vim的一些常用按鍵,方便編輯文本或程序時更加迅速快捷革砸。
第一部分(一般模式)
一般模式中除秀,光標(biāo)移動、復(fù)制粘貼业岁、查找替換等功能,如下表所示
移動光標(biāo)的方法 | |
---|---|
h或者向左箭頭鍵(←) | 光標(biāo)向左移動一個字符 |
j或者向左箭頭鍵(↓) | 光標(biāo)向下移動一個字符 |
k或者向左箭頭鍵(↑) | 光標(biāo)上移動一個字符 |
l或者向左箭頭鍵(→) | 光標(biāo)向右移動一個字符 |
如果想多次移動的話寇蚊,向下移動30行笔时,可以使用”30j”或”30↓” | |
[Ctrl]+[f] | 屏幕向下移動一頁 |
[Ctrl]+[b] | 屏幕向上移動一頁 |
[Ctrl]+[d] | 屏幕向下移動半頁 |
[Ctrl]+[u] | 屏幕向上移動半頁 |
0或者功能鍵[Home] | 這是數(shù)字”0”:移動到這一行的最前面字符處 |
$或者功能鍵[End] | 移動到這一行的最后面字符處 |
G | 移動到這個文件的最后一行 |
nG | n為數(shù)字。移動到這個文件的第n行仗岸。例如20G則會移動到這個文件的第20行(可配合:set nu) |
gg | 移動到這個文件的第一行允耿,相當(dāng)于1G |
N[Enter] | n為數(shù)字。光標(biāo)向下移動n行 |
:n1,n2s/word1/word2/g | n1和n2為數(shù)字扒怖。在第n1和n2行之間尋找word1這個字符串较锡,并將該字符串替換為word2。 |
:1,$s/word1/word2/g | 從第一行到最后一行查找word1字符串盗痒,并將該字符串替換為word2蚂蕴。 |
:1,$s/word1/word2/gc | 從第一行到最后一行查找word1字符串,并將該字符串替換為word2俯邓。且在替換前顯示提示字符給用戶確認(rèn)(comfirm)是否需要替換 |
刪除骡楼、復(fù)制與粘貼 | |
x,X | 在一行字當(dāng)中,x為向后刪除一個字符(相當(dāng)于[Del]按鍵)稽鞭,X為向前刪除一個字符(相當(dāng)于[Backspace]按鍵) |
dd | 刪除光標(biāo)所在的那一整行 |
yy | 復(fù)制光標(biāo)所在的那一行 |
nyy | n為數(shù)字鸟整。復(fù)制光標(biāo)所在的向下n行 |
p,P | p為將已復(fù)制的數(shù)據(jù)在光標(biāo)下一行粘貼,P則為粘貼在光標(biāo)上一行 |
u | 復(fù)原前一個操作 |
[Ctrl]+r | 重做上一個操作 |
. | 這是個小數(shù)點(diǎn)朦蕴。意思是重復(fù)前一個操作的意思篮条。如果你想要重復(fù)刪除、重復(fù)粘貼等操作吩抓,按下小數(shù)點(diǎn)”.”就好了 |
第二部分(一般模式切換到編輯模式的可用按鍵)
進(jìn)入插入或替換的編輯模式 | |
---|---|
i,I | 進(jìn)入插入模式(Insert mode):i為從目前光標(biāo)所在處插入涉茧,I為在目前所在行的第一個非空格符處開始插入 |
a,A | 進(jìn)入插入模式(Insert mode):a為從目前光標(biāo)所在的下一個字符處開始插入,A為從光標(biāo)所在行的最后一個字符處開始插入 |
o,O | 進(jìn)入插入模式(Insert mode):這是英文字母o的大小寫疹娶。o為從目前光標(biāo)所在的下一行處插入新的一行降瞳;O為在目前光標(biāo)所在處的上一行處插入新的一行 |
r,R | 進(jìn)入替換模式(Insert mode):r只會替換光標(biāo)所在的那一個字符一次;R會一直替換光標(biāo)所在的文字,直到按下[Esc]鍵為止 |
[Esc] | 推出編輯模式挣饥,回到一般模式中 |
第三部分(一般模式切換到命令行模式的可用按鍵說明)
命令行的保存除师、離開等命令 | |
---|---|
:w | 將編輯的數(shù)據(jù)寫入硬盤文件中 |
:q | 離開vi |
:q! | 若曾修改過文件,又不想存儲扔枫,使用"!"為強(qiáng)制離開不保存文件 |
:wq | 保存后離開汛聚,若為":wq!"則為強(qiáng)制保存后離開 |
:w[filename] | 將編輯的數(shù)據(jù)保存成另一個文件 |
:! command | 暫時離開vi到命令行模式執(zhí)行command的顯示結(jié)果。例如"! ls /home"即可在vi當(dāng)中查看/home下面以ls輸出的文件信息 |
vim環(huán)境的更改 | |
:set nu | 顯示行號短荐,設(shè)置之后倚舀,會在每一行的前綴顯示該行的行號 |
:set nonu | 與set nu相反,為取消行號 |
vim的各個命令忍宋,要多練習(xí)才能熟練喔痕貌!