vim三種模式
- 命令模式
- 末行模式
- 輸入模式
命令模式
- 當(dāng)剛剛啟動(dòng)vim時(shí)就為該模式
命令模式 - 該模式下所敲擊的鍵盤都為命令
- 若想切換到
輸入模式可敲擊字母按鍵i - 若想切換到
末行默認(rèn)輸入鍵盤中冒號(hào):
命令模式相關(guān)命令
i
在光標(biāo)之前插入數(shù)據(jù)
I
光標(biāo)所在行的行首插入數(shù)據(jù)
a
在光標(biāo)之后插入數(shù)據(jù)
A
光標(biāo)所在行的行尾插入數(shù)據(jù)
o
在光標(biāo)所在行的下一行插入數(shù)據(jù)
O
光標(biāo)所在行的上一行數(shù)據(jù)插入數(shù)據(jù)
s
向光標(biāo)所在的那個(gè)字符插入數(shù)據(jù)并刪除光標(biāo)所指向的字符
S
向光標(biāo)所在行插入數(shù)據(jù)并刪除當(dāng)前行所有數(shù)據(jù)
h j k l
分別代表 左/下/上/右移動(dòng)
M
光標(biāo)移動(dòng)到中間行
L
光標(biāo)移動(dòng)到屏幕最后一行
G
跳轉(zhuǎn)到指定行 行號(hào)G
如:移動(dòng)到第二行2G
gg
跳轉(zhuǎn)到首行
GG
跳轉(zhuǎn)到最后一行
gg=G
自動(dòng)格式化文本
%
括號(hào)匹配
x
刪除光標(biāo)下的字符
dw
刪除單詞
D
刪除光標(biāo)到行尾的所有字符
0
光標(biāo)移動(dòng)到行首
$
光標(biāo)移動(dòng)到行尾
d0
刪除光標(biāo)到行首的所有字符
d$
刪除光標(biāo)到行尾的所有字符
r
替換光標(biāo)下的字符
v
可視, 選中某區(qū)域使用 h j k l來移動(dòng)選中區(qū)域
數(shù)字dd
刪除n行
yy
復(fù)制一行
p
粘貼到光標(biāo)下一行
P
粘貼到光標(biāo)上一行
數(shù)字yy
復(fù)制多行
u ctr+r
撤銷上一步u
反撤銷ctr+r
/
查找/查找的內(nèi)容
按n查找下一個(gè)
按N查找上一個(gè)
* #
查找已知內(nèi)容, 將光標(biāo)移動(dòng)到需要被查找的字符按
*向后查找
#向前查找
[d
查看宏定義(前提是該宏存在)
末行模式
數(shù)字
跳轉(zhuǎn)到指定的行,如跳轉(zhuǎn)到22行:22
s /old/new| %s /old/new| %s /old/new/g| 數(shù)字,數(shù)字s /old/new
單行替換 將光標(biāo)移動(dòng)到需要被替換的行:s /被替換的/替換后的
全文替換 :%s /被替換的/替換后的 只會(huì)替換每行的第一個(gè)被匹配的
全文整行替換:%s /被替換的/替換后的/g 全文替換如一行多個(gè)匹配都會(huì)被替換
區(qū)域替換:開始行,結(jié)束行s /被替換的/替換后的 替換指定區(qū)域中匹配的
sp vsp
垂直分割 sp
水平分割 vsp
切換頁面 ctr + ww
退出光標(biāo)所在頁面 q
退出所有頁面 qall
ctr+p|ctr+n
上一個(gè)命令ctr+p
下一個(gè)命令ctr+n
w
保存不退出vim
qw
保存并退出
q!
不保存退出
!
不保存執(zhí)行命令:!執(zhí)行的命令