-
Normal 模式下
[ ESC ]
i
=== 插入模式(Insert
)
x
=== 刪除光標(biāo)所在的前一個(gè)字符
dd
=== 刪除當(dāng)前行,并把刪除的行存到剪貼板里
dt!
=== 刪除當(dāng)前行所有內(nèi)容锰什,只到遇到!
,!
可以換成其他字符
hjkl
=== (←↓↑→
)移動(dòng)
- 各種插入
a
==== 在光標(biāo)后插入
0
==== 在當(dāng)前行下插入一個(gè)新行
cw
==== 將光標(biāo)后到一個(gè)單詞結(jié)尾字符替換為新輸入的字符
- 移動(dòng)光標(biāo)
0
==== 零够吩,到本行行頭
$
==== 到本行行尾
/str
==== 搜索str
的字符串
- 復(fù)制/粘貼
yy
==== 復(fù)制當(dāng)前行
p
==== 粘貼復(fù)制的內(nèi)容
- 撤銷/恢復(fù)
u
==== 撤銷
Ctrl + r
==== 恢復(fù)撤銷的內(nèi)容
以
:
開始的命令需要輸入<enter>
回車
- 打開/保存/退出/改變文件
:e <path/to/file>
=== 打開文件劣欢,tab
可以補(bǔ)全
:wq
=== 保存(w
)并退出(q
)
:w <path/to/file>
=== 另存為<path/to/file>
- 替換
:s/from/home/
=== 將當(dāng)前行的第一個(gè)from
替換為home
:s/from/home/g
=== 將當(dāng)前行所有from
替換為home
:s/from/home/gc
=== 將當(dāng)前行所有from
替換為home
,但每替換一個(gè)會(huì)詢問一次
:3s/from/home/g
=== 將第3行所有from
替換為home
:1,3s/from/home/g
=== 將第1-3行所有from
替換為home
:%s/from/home/g
=== 將所有from
替換為home
:1,.s/from/home/g
=== 將第1行到當(dāng)前行的所有from
替換為home
,.
當(dāng)前行
:.,$s/from/home/g
=== 將當(dāng)前行到最后一行的所有from
替換為home
- 更有效率的移動(dòng)
nG
=== 移動(dòng)到第n
行
gg
=== 第一行
G
=== 最后一行
w
=== 到下一個(gè)單詞的開頭
e
=== 到下一個(gè)單詞的結(jié)尾
g_
=== 到本行最后一個(gè)不是空格字符的位置
^
=== 到本行第一個(gè)不是空格字符的位置
fa
=== 到下一個(gè)為a
的字符處,a
可替換為其他字符
2fa
=== 在當(dāng)前行查找第二個(gè)出現(xiàn)的a
t,
=== 到逗號(hào)前的第一個(gè)字符,逗號(hào)可以變成其它字符
Ctrl+>/<
=== 左右縮進(jìn)
- 以下兩個(gè)命令很重要
%
=== 匹配括號(hào)移動(dòng),需要把光標(biāo)先移到括號(hào)上,在括號(hào)的開頭結(jié)尾間移動(dòng)
*
和#
=== 匹配光標(biāo)當(dāng)前所在的單詞,移動(dòng)光標(biāo)到下一個(gè)(或上一個(gè))匹配單詞(*是下一個(gè),#是上一個(gè))
- 區(qū)域選擇
<action>a<object>
和<action>i<object>
action
可以是任何的命令诈铛,如d
(刪除),y
(拷貝),v
(可視模式選擇)
object
可能是w
一個(gè)單詞篡九,W
一個(gè)以空格為分隔的單詞谐岁,s
一個(gè)句子,p
一個(gè)段落榛臼。也可以是一個(gè)特別的字符:"伊佃、 '、 )沛善、 }航揉、 ]
。
di"
=== 刪除"
中的內(nèi)容金刁,不包括"
da"
=== 刪除包括"
在內(nèi)的內(nèi)容
dw
=== 刪除一個(gè)單詞
-
塊操作
<Ctrl+ v>
塊操作帅涂,典型的操作:
0 <C-v> <C-d> I-- [ESC]
0
=== 到行頭
<C-v>
=== 開始?jí)K操作
<C-d>
==== 向下移動(dòng) (你也可以使用hjkl來移動(dòng)光標(biāo),或是使用%尤蛮,或是別的)
I-- [ESC]
== I是插入媳友,插入“--”,按ESC鍵來為每一行生效产捞。
-
可視化選擇:
v,V,<C-v>
v
進(jìn)入字符可視化模式, 文本選擇是以字符為單位的
V
進(jìn)入行可視化模式, 文本選擇是以行為單位的
Ctrl+v
進(jìn)入塊可視化模式, 可以選擇一個(gè)矩形內(nèi)的文本
進(jìn)入 v 和 V
后醇锚,可以:
J
==== 把所有的行連接起來(變成一行)
<
或>
==== 左右縮進(jìn)
=
=== 自動(dòng)給縮進(jìn)在所有被選擇的行后加上點(diǎn)東西:
<C-v>
選中相關(guān)的行 (可使用j
或<C-d>
或是/pattern
或是%
等……)
$
到行最后
A,
輸入字符串,按ESC
- 分屏 :split
和 :vsplit
:split
==== 創(chuàng)建上下分屏 , 縮寫sp filename
:vsplit
==== 創(chuàng)建左右分屏 , 縮寫vsp filename
Ctrl+W c
=== 關(guān)閉當(dāng)前窗口
Ctrl+W dir
=== dir就是方向轧葛,可以是hjkl
或是←↓↑→
中的一個(gè)搂抒,用來在各個(gè)分屏之間切換。尿扯。先按一下Ctrl+W