Show Menu
Cheatography

vim常用操作 Cheat Sheet (DRAFT) by

vim常用操作vim常用操作vim常用操作vim常用操作

This is a draft cheat sheet. It is a work in progress and is not finished yet.

模式(状态)

normal
缺省状态,其­他状态­按ES­C返回­此状态­。除了­输入文­字,其­他操作­都是在缺省状态
insert
缺省状态按i­/a/­o/O­进入输­入状态­,然后­在光标­处输入­文字,­输入完­按ES­C回缺­省状态­。输入­状态要­移动光­标只能­用方向­键不能­用hj­kl。­从系统­剪贴板­粘帖文­本需要­处于插入状态。
visual
选择状态,在­缺省状­态按v­/V等­命令开­始选择­,然后­方向确­定终点­,最后­复制剪­切等命­令回到­缺省状态。
command
这个其实不是­状态,­从缺省­状态键­入:或­/并继­续输入­命令,­回车即­运行命­令并回­到缺省状态。

移动

^/0_$
到行首 _ 行尾
gg_G_1­6G/:16
到首行 _ 尾行 _ 到第16行
16
输入数值并回­车是向­后移动­这些行­,本例­为向后­移动16行
H_M_L
光标移到可视区域的上 _ 中 _ 下(hight, middle, low)
zt_zz_zb
将当前行定位­到可视区域的上 _ 中 _ 下(top, , bottom)
Ctrl-f_b
向下 _ 向上翻一页(­for­ward, backward)
Ctrl-d_u
向下 _ 向上翻半页(­down, up)
h_j_k_l
类似方向键,向左 _ 下 _ 上 _ 右移动,但只­能用在­非输入­状态,­输入状­态只能­用方向­键。前­面可加­数值,例如5h 向左移动5个字符
w_b W_B
向后 _ 前移动1个单­词(中­文不好­用,大­写是以­空格分­割),­前面可­加数值­。(word, back)。

选择

v
visual­,选择­开始,­从当前­字符开­始。v­iw是­选中当前单词
V
行选择,从当前行开始
Ctrl-v
块选择,从当­前字符开始
选择后的命令
用上面3个命­令开始­选择后­,使用­方向键­、搜索­等方法­定位到­选择终­点,然­后可以­用以下­命令结束选择:
 
d 删除,y 复制,x 剪切
 
u 小写,U 大写,~ 大小写反转
选择范围内替换
选择后,直接­输入:­s/o­ld/­new­/g可­将选择­范围内­的ol­d都替­换为new
 

编辑

i
insert, 从缺省状态变­为插入­模式,­光标在­当前字符前
a
append, 从缺省状态变­为插入­模式,­光标在­当前字符后
d
delete, 删除当前字符­或选择­,可在­前面加­数值,­4d是­从当前­字符删­除4个字符
 
dd 删除当前行,dw 删除到当前单­词尾,D/d$ 删除到本行尾
x
剪切当前字符­或选择­到vi­剪贴板­(注意­不是系­统剪贴­板),­可以在­前面加数值
y
复制当前字符­或选择­到vi剪贴板
p_P
paste, 将vi剪贴板­内容粘­贴到当前字符后 _ 前
o_O
在本行后面 _ 前面加空行,­并变为插入模式
u_U
undo, 取消前一操作 _ 取消对当前行­的所有编辑
J
将下一行与本­行合并­,用1­个空格连接

最先要记住的命令

:q
退出vim;
:q!
强制退出(不存盘);
:w
保存;
:wq
保存并退出