a-> append
i-> insert
o-> open a line below
A-> append after line
I-> insert before line
O-> append a line above
单词间移动
w->移到下一个word开头
W->移到下一个WORD开头
e->移到下一个word结尾
E->移到下一个WORD结尾
b->回到上一个word开头
B->回到上一个WORD开头
word指的是以非空白符分割的单词,WORD指的是以空白符分割的单词
行间的搜索移动
f{char}->移动到字符char上
t{char}->移动到char的前一个字符
可以用分号(;
)/逗号(,)继续搜索该行下一个/上一个
0->移动到行首第一个字符
^->移动到第一个非空白字符
$->移动到行尾
g_->移动到行尾非空白字符
gg->移动到文件开头
G->移动到文件结尾
ctrl+o->快速返回上一个操作的地方
gi->快速跳转到最后一次编辑的地方并进入插入模式
H->跳转到屏幕的开头(Head)
M->跳转到屏幕的中间(Middle)
L->跳转到屏幕的结尾(Lower)
ctrl+u->向上翻页(upword)
ctrl+f->向下翻页(forward)
zz->把屏幕置为中间
删除
x->删除一个字符
dw/daw->删除一个单词和后面的空格
diw->删除一个单词
dd->删除当前行
dt)->删除到)处
dt"->删除到"处
替换
r->替换字符
R->不断替换之后的字符
c->
s->删除字符并进入插入模式
S->删除整行并进入插入模式
搜索
/->前向搜索
?->反向搜索
n->跳转到下一个匹配
N->跳转到上一个匹配
*->当前单词的前向匹配
#->当前单词的后向匹配
:[range]s/{pattern}/{string}/[flags]
range标识范围 比如:10,20表示10-20行,%表示全部
pattern表示要替换的文本
string表示替换后的文本
flag:
g(global) 表示全局范围内执行
c(confirm) 表示确认,可以确认或者拒绝修改
n(number) 报告匹配到的次数而不替换,可以用来查询匹配次数
支持正则表达式
y->复制
yiw->复制一个单词
yy->复制一行
d->剪切
p->粘贴
u->后退
ctrl+r->前进
insert模式
ctrl+h->删除上一个字符
ctrl+w->删除上一个单词
ctrl+u->删除当前行