vim基礎(chǔ)操作
vim三種模式
-
命令模式(Command mode)首次進(jìn)入
vim即命令模式,輸入命令可進(jìn)行相應(yīng)的操作- 輸入
i切換到輸入模式 -
x刪除光標(biāo)當(dāng)前字符 - 輸入
:切換到底線命令模式
- 輸入
-
編輯模式(Insert mode)按esc退出編輯模式
-
底線命令模式(Last line mode)命令模式下輸入:進(jìn)入底線命令模式-
:wwrite 保存 -
:qquite 退出 -
:q!quite 強(qiáng)制退出不保存 -
:wq強(qiáng)制保存并退出,一定會(huì)強(qiáng)制更新文件的修改時(shí)間 -
:x保存并退出,如果文件沒有發(fā)生變化,那么不會(huì)更新文件的修改時(shí)間
-
vim進(jìn)階操作
進(jìn)入編輯模式的幾種命令
-
iinsert 進(jìn)入編輯模式,在當(dāng)前字符前插入 -
aappend 進(jìn)入編輯模式,在當(dāng)前字符后追加 -
oopen a line below 進(jìn)入編輯模式,在當(dāng)前字符下方重新開啟一行 -
I在當(dāng)前字符所在行最前面插入 -
A在當(dāng)前字符所在行最后面追加 -
O在當(dāng)前字符所在行上方開起一行 -
r取代當(dāng)前光標(biāo)字符一次 -
R取代光標(biāo)所在文字,直到按下esc
編輯模式與命令模式之間快速切換
-
esc退出編輯模式 -
ctrl+c退出編輯模式 -
ctrl+[退出編輯模式 -
gi跳轉(zhuǎn)到最后一次編輯的地方并進(jìn)入編輯模式
光標(biāo)移動(dòng)
-
h左 -
j下 -
k上 -
l右 - 光標(biāo)單詞之間移動(dòng),大寫表示以空格為分隔符
-
w/W跳轉(zhuǎn)到下一個(gè)單詞開頭 -
e/E跳轉(zhuǎn)到下一個(gè)單詞末尾 -
b/B跳轉(zhuǎn)到上一個(gè)單詞開頭
-
常用編輯命令
-
x相當(dāng)于del -
X相當(dāng)于backspa -
dd刪除光標(biāo)當(dāng)前行 -
nddn 為數(shù)字。刪除光標(biāo)所在的向下 n 行,例如 20dd 則是刪除 20 行 (包含光標(biāo)所在行) -
yy復(fù)制光標(biāo)當(dāng)前行 -
nyyn 為數(shù)字。復(fù)制光標(biāo)所在的向下 n 行,例如 20yy 則是復(fù)制 20 行 -
p將已復(fù)制的數(shù)據(jù)在光標(biāo)下一行粘貼 -
P粘貼游標(biāo)上一行! -
u撤銷 -
ctrl+r重做
分屏
-
vs豎直分屏 (vertical split) -
sp水平分屏 (split) -
:qa退出分屏
文本查找與替換
- 文本替換
:% s/xxx/bbb/g,將xxx替換為bbb,g表示全局替換
塊狀選擇
- 進(jìn)入
visual模式可進(jìn)行塊狀選擇-
v輸入v后按方向鍵可對(duì)選中的代碼塊進(jìn)行操作,例如按d刪除選中的代碼塊 -
V輸入V后會(huì)自動(dòng)選中當(dāng)前行,按住方向鍵可往下繼續(xù)選中,按d刪除選中的代碼塊
-
設(shè)置行號(hào)
-
:set nu設(shè)置行號(hào) -
:set nonu取消設(shè)置行號(hào)
reference linux-vim