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
: 忽略大小写