vim的基本模式包括三種
1, 普通模式:NORMAL,默認(rèn)模式,移動(dòng)光標(biāo),復(fù)制粘貼等操作
2, 插入模式:INSERT,輸入文本
3, 命令模式:內(nèi)置的命令行接口(extended command),用于保存,退出,查找等操作
基礎(chǔ)操作
模式切換
普通模式-->插入模式:
i:insert,光標(biāo)所在處輸入
a:append,光標(biāo)之后輸入
o:新起一行輸入
I:光標(biāo)所在行行首輸入
A:光標(biāo)所在行行尾輸入
O:光標(biāo)所在行之上另起一行
-------------------
插入模式-->普通模式:
ESC
-------------------
普通模式-->命令模式
:
關(guān)閉文件
1,普通模式下:
ZZ 保存,退出
ZQ 不保存,退出
2,命令模式下:
:q 退出
:q! 強(qiáng)制退出
:wq 保存,退出
:x 保存,退出
:w /path/somefile 另存為
光標(biāo)跳轉(zhuǎn)
k,j,h,l 上,下,左,右移動(dòng)一個(gè)字符
5k 上移動(dòng)5個(gè)字符
3l 右移動(dòng)5個(gè)字符
--------------------
w 下一個(gè)單詞詞首
e 當(dāng)前或下一個(gè)單詞詞尾
b 當(dāng)前或上一個(gè)單詞詞首
--------------------
0(數(shù)字0) 當(dāng)前行行首
$ 當(dāng)前行行尾
^ 當(dāng)前行行首非空字符
3w 向右第三個(gè)單詞詞首
--------------------
H 屏幕首行
M 屏幕中間行
L 屏幕尾行
--------------------
5G 跳轉(zhuǎn)到第五行
1G,gg 跳轉(zhuǎn)到第一行
G 跳轉(zhuǎn)到最后一行
--------------------
) 下一句
( 上一句
} 下一段
{ 上一段
翻屏
ctrl+f 下翻一屏
ctrl+b 上翻一屏
ctrl+d 下翻半屏
ctrl+u 上翻半屏
編輯
x 刪除,等同于delete鍵的作用
X 刪除,等同與backspace鍵的做用
nx 刪除n個(gè)字符
~ 轉(zhuǎn)換大小寫
--------------------
r 單個(gè)字符替換
R 連續(xù)字符替換
--------------------
d$ 刪除到行尾
d0 刪除到行首
d^ 刪除到行首非空字符
dw 刪除光標(biāo)到下一個(gè)單詞之間的部分
d3w 刪除光標(biāo)到第三個(gè)單詞之間的部分
de 刪除光標(biāo)到單詞尾的部分
dd 刪除整行
3dd 刪除3行
粘貼
p(小寫) 向右或下粘貼
P(大寫) 向左或上粘貼
復(fù)制
yy 復(fù)制整行
2yy 復(fù)制2行
y$ 復(fù)制到行尾
y0 復(fù)制到行首
y^ 復(fù)制到行首非空
yw 復(fù)制到下一個(gè)單詞之前(包括本單詞后的空格)
ye 復(fù)制到本單詞結(jié)尾(不包括空格)
改變
ce 刪除到單詞尾,并進(jìn)入insert模式
c$ 刪除到行尾,并進(jìn)入insert模式
c0 刪除到行首,并進(jìn)入insert模式
cc 刪除整行,并進(jìn)入insert模式
3cc 刪除3行,并進(jìn)入insert模式
撤銷
u 撤銷
U 撤銷一行的所有操作
ctrl+r 反撤銷
重復(fù)
. 重復(fù)上次修改,一次修改可以是一個(gè)字符,整行或整個(gè)文件
ni- 數(shù)字+i+需要重復(fù)的字符,按esc后編輯器自動(dòng)輸入n次-字符
可視化模式
v(小寫) 按字符選定
v(大寫) 按行選定
選定后y復(fù)制,或d刪除
高級(jí)操作
多行插入
ctrl+v 進(jìn)入塊可視模式,用方向鍵或$、^等鍵選中一個(gè)塊
1,在前面添加:
I 光標(biāo)跳到第一行首位,輸入需要插入的字符后按esc,編輯器自動(dòng)把之后的所有行都進(jìn)行插入,效果等同于多光標(biāo)操作
2,在后面添加:
A ,光標(biāo)跳到第一行尾部,輸入需要添加的字符后按esc,編輯器會(huì)在選中的每一行末添加
查找替換
/ff 向下查詢ff,下一個(gè)按n,上一個(gè)按N
?ff 向上查詢ff
:s/old/new/g 在當(dāng)前行查找全部old替換為new,g為查找全部,i為忽略大小寫
:3,8s/old/new/g 從第3行到第8行進(jìn)行查找替換
:%s/old/new/g 全文查找替換
多窗口
:sp/:vsp 水平或垂直開(kāi)啟一個(gè)新窗口,后面如果不接文件名,則表示兩個(gè)窗口為同一個(gè)文件(同步顯示)
ctrl+w 再按方向鍵切換窗口
宏錄制
1,NORMAL模式下按qa 開(kāi)始錄制一個(gè)名為a的宏
2,開(kāi)始對(duì)文本進(jìn)行操作
3,按q結(jié)束宏錄制
4,@a使用宏,3@a使用3次
快速選中
vi" 選中""中的全部?jī)?nèi)容
va" 選中""中的全部?jī)?nèi)容,同時(shí)也選中""
vi} 選中{}中的全部?jī)?nèi)容
快速移動(dòng)
fa 移動(dòng)到下一個(gè)字符a處
ta 移動(dòng)到字符a的前一個(gè)字符處
快速刪除
dta 刪除到字符a的前一個(gè)字符
快速對(duì)齊
進(jìn)入塊可視模式選中目標(biāo)文本
J 把選中的文本變成一行。(J單獨(dú)使用可刪除當(dāng)前行的換行符)
< 向左縮進(jìn)
> 向右縮進(jìn)
= 自動(dòng)縮進(jìn)對(duì)齊,(這個(gè)超好用)
技巧類
zz 重繪屏幕并把當(dāng)前行顯示在窗口正中間
dip 刪除所有臨近的空白行
:nohl 搜索后用來(lái)清除高亮
ci" 改寫""中的內(nèi)容
:g/^\s*$/d 刪除文件中所有空白行