- 所有的Linux distributions都會內(nèi)置vi文本編輯器
- 很多軟件的編輯接口都會主動調(diào)用vi文本編輯器
- vim可以看做vi的高級版本,有程序編輯能力脊另,強(qiáng)大好用
一、Vim的三種模式
- 命令模式:控制光標(biāo)移動约巷,對文本進(jìn)行復(fù)制偎痛、粘貼、刪除和查找
- 末行模式:保存或退出文件独郎,以及其他的一些功能
- 插入模式:編輯文本內(nèi)容
二踩麦、三種模式的切換和使用
Vim編輯器模式切換示意圖
Note:
- 當(dāng)運(yùn)行vim編輯器時(shí),默認(rèn)進(jìn)入命令模式
- 插入模式和末行模式之間不能直接切換
- 按下
a氓癌、i谓谦、o
等鍵時(shí),進(jìn)入插入模式- 按下
:
等鍵時(shí)贪婉,進(jìn)入末行模式- 按下
Esc
鍵回到命令模式
2.1 命令模式說明
按鍵 | 作用 |
---|---|
dd | 刪除(剪切)光標(biāo)所在行 |
ndd | 刪除(剪切)從光標(biāo)處開始的n行 |
yy | 復(fù)制光標(biāo)所在行 |
nyy | 復(fù)制從光標(biāo)處開始的n行 |
p | 粘貼(將刪除或復(fù)制的數(shù)據(jù)粘貼到光標(biāo)下一行) |
P | 粘貼(將刪除或復(fù)制的數(shù)據(jù)粘貼到光標(biāo)上一行) |
u | 撤銷(后退) |
[Ctrl] + r | 重做上一個(gè)操作(前進(jìn)) |
2.2 進(jìn)入插入模式的說明
按鍵 | 作用 |
---|---|
i/I | 進(jìn)入插入模式: i: 從當(dāng)前光標(biāo)插入 I: 從當(dāng)前所在行的第一個(gè)非空格符處插入(即從開頭插入) |
a/A | 進(jìn)入插入模式: a: 從當(dāng)前光標(biāo)的下一個(gè)字符處插入 A: 從當(dāng)前所在行的最后一個(gè)字符處插入(即從行末尾插入) |
o/O | 進(jìn)入插入模式: o: 從當(dāng)前光標(biāo)的下一行插入新的一行 O: 從當(dāng)前光標(biāo)的上一行插入新的一行 |
r/R | 進(jìn)入替換模式: r: 替換光標(biāo)所在的字符 R: 一直替換光標(biāo)所在的字符反粥,直到按下[Esc]鍵為止 |
Note:
界面左下角出現(xiàn)--INSERT--
或--REPLACE--
字樣
2.3 末行模式的說明
2.3.1 常用命令
按鍵 | 作用 |
---|---|
:w | 將編輯的數(shù)據(jù)從內(nèi)存寫入硬盤 |
:w! | 若文件屬性為只讀,強(qiáng)制寫入 |
:q | 退出vim環(huán)境 |
:q! | 強(qiáng)制退出,且不保存文件 |
:wq! | 強(qiáng)制保存并退出 |
:set nu | 顯示行號 |
:set nonu | 不顯示行號 |
:n | 光標(biāo)移動到第n行 |
2.3.2 替換命令
按鍵 | 作用 |
---|---|
:s/word1/word2 | 將當(dāng)前光標(biāo)所在行的第一個(gè)word1替換為word2 |
:s/word1/word2/g | 將當(dāng)前光標(biāo)所在行的所有word1替換為word2 |
:%s/word1/word2 | 將全文中每一行的第一個(gè)word1替換為word2 |
:%s/word1/word2/g | 將全文中所有的word1替換為word2 |
:n,ms/word1/word2/g | 將n行到m行的所有word1替換為word2 |
:.,$s/word1/word2/gc | 將光標(biāo)所在行到最后一行的所有word1替換為word2 注意:替換前需要用戶進(jìn)行確認(rèn)是否替換 |
2.3.3 查找命令
按鍵 | 作用 |
---|---|
/word | 在文本中從上至下搜索word |
?word | 在文本中從下至上搜索word |
n | 重復(fù)前一個(gè)查找操作 |
N | 反向進(jìn)行前一個(gè)查找操作 |
三才顿、塊選擇
按鍵 | 作用 |
---|---|
[Ctrl] + v | 塊選擇莫湘,用矩形的方式選擇數(shù)據(jù) |
v | 字符選擇,將光標(biāo)經(jīng)過的地方反白 |
V | 行選擇郑气,將光標(biāo)經(jīng)過的行反白 |
y | 復(fù)制反白的數(shù)據(jù) |
d | 刪除反白的數(shù)據(jù) |
Note:
界面左下角出現(xiàn)--VISUAL BLOCK--
或--VISUAL--
或--VISUAL LINE--
字樣
四幅垮、多文件編輯
同時(shí)打開多個(gè)文件,如: vim hosts man.config
按鍵 | 作用 |
---|---|
:n | 編輯下一個(gè)文件 |
:N | 編輯上一個(gè)文件 |
:first | 打開第一個(gè)文件 |
:last | 打開最后一個(gè)文件 |
:files | 列出目前vim打開的所有文件 |
五竣贪、多窗口功能
按鍵 | 作用 |
---|---|
:sp filename | 打開一個(gè)新窗口 有filename: 打開一個(gè)新文件 無filename: 兩個(gè)窗口為同一個(gè)文件內(nèi)容(同步顯示) |
[Ctrl] + w + ? | 光標(biāo)移動到下方的窗口 |
[Ctrl] + w + ? | 光標(biāo)移動到上方的窗口 |