Vim Cheatsheet
切换编辑模式
switch | |
---|---|
i |
当前光标前进入插入模式 |
a |
当前光标后进入插入模式 |
I |
行首进入插入模式 |
A |
行末进入插入模式 |
v |
可视化模式(选择一段字符进行操作) |
V |
按行的可视化模式 |
R |
该行进入替换模式 |
Esc |
退出至普通模式 |
普通模式下的操作符
operator | |
---|---|
<number> <operator> |
执行 n 次 operator |
x |
删除光标位置的字符 |
d <motion> |
从当前光标处删至 motion 移至的光标处 |
dd |
删除整行 |
u |
撤销 |
U |
撤销对该行的修改 |
Ctrl-r |
恢复修改 |
p |
将最后一次删除内容置入光标后 |
r <char> |
用 char 替换光标处字符 |
c <motion> |
从当前光标处删至 motion 移至的光标处,并进入插入模式(更改) |
y <motion> |
复制 |
yy |
复制整行 |
普通的移动光标指令
normal motion | |
---|---|
<number> <normal-motion> |
移动 n 个 motion |
h |
左移 |
j |
下移 |
k |
上移 |
l |
右移 |
w |
移至下一个单词前 |
e |
移至该单词末 |
$ |
移至行末 |
/string |
查找 string |
n |
查找下一个 |
N |
查找上一个 |
?string |
反向查找 |
特殊的移动光标指令
special motion | |
---|---|
0 |
移至行首 |
G |
跳至最后一行 |
gg |
跳至第一行 |
<number> G |
跳至指定行 |
<number> gg |
跳至指定行 |
命令
:w |
保存 |
:q |
退出 |
:q! |
不保存退出 |
其他
Ctrl-g |
显示当前行数 |
替换
:[region]s/string1/string2[/mode]
region:
#
: 前一个文件%
: 当前文件
string
正则表达式。string1 中用 \( \)
括起来的部分可以在 string2 中使用 \<number>
代替。
mode:
e
: 不显示错误g
: 不提示确认i
: 忽略大小写