申報(bào)城市維護(hù)建設(shè)稅上哪個(gè)網(wǎng)站/網(wǎng)站運(yùn)營(yíng)工作內(nèi)容
Vim 模式切換 | 命令集
- vim 主要模式及切換
- 一、正常/普通/命令模式
- 1 光標(biāo)相關(guān)操作命令集
- 1.1 光標(biāo)移動(dòng)
- 1.2 文字刪除
- 1.3 粘貼和復(fù)制
- 1.4 撤銷(xiāo)
- 1.5 字符更改
- 二、插入模式
- 2.1 插入模式和命令行模式相互切換
- 三、末行模式
- 2.1 末行模式和命令行模式相互切換
- 2.2 末行模式相關(guān)命令集
- 四、視圖模式:批量化注釋和刪除注釋
- 4.1 命令模式和視圖模式相互切換
- 4.2 批量化注釋
- 4.3 批量化刪除注釋
- 五、替換模式
- 5.1 命令模式和替換模式相互切換
- 六、五大模式切換關(guān)系圖及查看其他模式
- 6.1 五大模式切換關(guān)系圖
- 6.2 其他模式
vim 主要模式及切換
vim是一款歷史悠久的多模式文本編輯器,在不同模式下有不同的功能。但實(shí)際開(kāi)發(fā)過(guò)程中,主要有以下5中模式。
一、正常/普通/命令模式
Vim默認(rèn)模式為命令模式,該模式主要用于控制屏幕光標(biāo)的移動(dòng),字符、行的刪除
。
1 光標(biāo)相關(guān)操作命令集
1.1 光標(biāo)移動(dòng)
快捷鍵 | 功能 |
---|---|
小寫(xiě)字母:h、j、k、l | vim允許直接使用鍵盤(pán)上的光標(biāo)移動(dòng)鍵來(lái)上下左右移動(dòng)光標(biāo),但正規(guī)的vim是用h(左移)、j(下移)、k(上移)、l(右移) 來(lái)控制光標(biāo)行為 |
gg | 光標(biāo)跳轉(zhuǎn)到文本開(kāi)始 |
(n)+ shift + g | 光標(biāo)跳轉(zhuǎn)到第n行 或 文本末尾 |
shift + ^ | 光標(biāo)移動(dòng)到該方的“行首 ” |
shify + $ | 光標(biāo)移動(dòng)到該方的“行尾 ” |
數(shù)字(n) + l | 光標(biāo)從當(dāng)前位置開(kāi)始,向后移動(dòng)n位 |
w | 光標(biāo)跳到下一個(gè)單詞的開(kāi)頭 (如果非單詞,則是下一個(gè)字符) |
e | 光標(biāo)跳到下一個(gè)單詞的結(jié)尾 (如果非單詞,則是下一個(gè)字符) |
b | 光標(biāo)跳到上一個(gè)單詞的開(kāi)頭 (如果非單詞,則是上一個(gè)字符) |
ctrl + b | 屏幕往“后”移動(dòng)一頁(yè) |
ctrl + f | 屏幕往“前”移動(dòng)一頁(yè) |
ctrl + u | 屏幕往“后”移動(dòng)半頁(yè) |
ctrl + d | 屏幕往“前”移動(dòng)半頁(yè) |
1.2 文字刪除
快捷鍵 | 功能 |
---|---|
x | 刪除當(dāng)前光標(biāo)所在位置字符 |
數(shù)字(n) + x | 刪除光標(biāo)所在位置后n個(gè)字符(包含光標(biāo)所在位置本身) |
shift + x | 刪除光標(biāo)所在位置的前一個(gè)字符 |
數(shù)字(n) + shift + x | 刪除光標(biāo)所在位置的前n一個(gè)字符 |
dd | 刪除光標(biāo)所在行 |
數(shù)字(n) + dd | 從光標(biāo)所在行開(kāi)始,刪除n行 |
1.3 粘貼和復(fù)制
快捷鍵 | 功能 |
---|---|
yy | 復(fù)制當(dāng)前行 到緩沖區(qū) |
數(shù)字(n) + yy | 從光標(biāo)所在行開(kāi)始,向后復(fù)制n行 到到緩沖區(qū) |
數(shù)字(n) +p | 將緩沖區(qū)內(nèi)的n字符貼到光標(biāo)所在位置 。tip:所有與“y”有關(guān)的復(fù)制命令都必須與“p”配合才能完成復(fù)制與粘貼功能 |
yw | 將光標(biāo)所在位置到字尾 的字符復(fù)制到緩沖區(qū)中。 |
#yw | 復(fù)制#個(gè)字符 到緩沖區(qū) |
1.4 撤銷(xiāo)
快捷鍵 | 功能 |
---|---|
u | 撤銷(xiāo)回到上一個(gè)操作。按多次“u”可以執(zhí)行多次撤銷(xiāo) |
ctrl + r | 撤銷(xiāo)的恢復(fù) |
1.5 字符更改
快捷鍵 | 功能 |
---|---|
cw | 更改光標(biāo)所在處的字到字尾處 |
c#w | 例如,「c3w」表示更改3個(gè)字 |
二、插入模式
要進(jìn)行文字輸入,vim必須從命令行模式切換到插入模式。
2.1 插入模式和命令行模式相互切換
- 從命令行模式切換到插入模式有以下三種方式:
快捷鍵 | 功能 |
---|---|
i | 按i進(jìn)入插入模式后,是從光標(biāo)當(dāng)前位置開(kāi)始輸入文字 |
a | 按a進(jìn)入插入模式后,是從光標(biāo)當(dāng)前位置的下一個(gè)位置開(kāi)始輸入文字 |
o | 按o進(jìn)入插入模式后,是插入新的一行,從行首開(kāi)始輸入文字 |
- 從插入模式切換命令行模式只需無(wú)腦
Esc
即可
三、末行模式
在末行模式中,我們可以進(jìn)行文件的保存和退出,文件替換、查找字符串和列出行號(hào)等操作。
2.1 末行模式和命令行模式相互切換
- 從命令行模式切換到末行模式,只需
shift + :
即可。 - 從末行模式退回命令行模式只需
Esc
。
2.2 末行模式相關(guān)命令集
快捷鍵 | 功能 |
---|---|
set + nu | 列出行號(hào) |
set + nonu | 取消行號(hào) |
數(shù)字(n) | 在冒號(hào)后輸入一個(gè)數(shù)字后回車(chē)確認(rèn),光標(biāo)會(huì)跳轉(zhuǎn)到該行 |
w! | 單獨(dú)w表示保存文件;w!表示強(qiáng)制保存文件 |
q! | 單獨(dú)q表示退出文件;q!表示強(qiáng)制退出文件 |
/ + 關(guān)鍵字 | 查找關(guān)鍵字,如果第一次找的關(guān)鍵字不是您想要的,可以一直按n會(huì)往后尋找到您要的關(guān)鍵字為止 |
? + 關(guān)鍵字 | 查找關(guān)鍵字,如果第一次找的關(guān)鍵字不是您想要的,可以一直按n會(huì)向前尋找到您要的關(guān)鍵字為止 |
四、視圖模式:批量化注釋和刪除注釋
4.1 命令模式和視圖模式相互切換
由命令模式切換到視圖模式只需Ctrl + v
即可;而由視圖模式回退命令模式只需無(wú)腦ESC
即可。
4.2 批量化注釋
首先通過(guò)Ctrl + v
切換到視圖模式,然后通過(guò)j/k
來(lái)旋轉(zhuǎn)待注釋的區(qū)域,接著輸入shift + i
后輸入//
,最后Esc
退出視圖模式即可。
【動(dòng)畫(huà)展示】:
4.3 批量化刪除注釋
批量化刪除注釋同樣需先通過(guò)Ctrl + v
切換到視圖模式,然后通過(guò)h/j/k/l
來(lái)選中待刪除注釋區(qū)域,最后輸入d
命令即可。
【動(dòng)畫(huà)展示】:
五、替換模式
5.1 命令模式和替換模式相互切換
在命令模式下輸入shift + r
即可進(jìn)入替換模式,此時(shí)新輸入的文本將直接替代/覆蓋已經(jīng)存在的內(nèi)容,直至點(diǎn)擊ESC
返回命令模式。
如果只是單純的r
命令,則是替換當(dāng)前單個(gè)字符。
快捷鍵 | 功能 |
---|---|
r | 替換 光標(biāo)所在處的字符 |
R | 替換 光標(biāo)所到之處的字符,直到按下ESC 鍵為止 |
六、五大模式切換關(guān)系圖及查看其他模式
6.1 五大模式切換關(guān)系圖
6.2 其他模式
在底行模式直接輸入help vim-modes
即可查看當(dāng)前vim中的所有模式。