vim的三种模式:
- 命令模式:可以执行除了输入字符的各种操作
- 插入模式:可以输入字符
- 底行模式:可以执行除了输入字符的各种操作
模式切换
命令 | 操作 |
---|---|
a | 在光标后插入 |
i | 在光标所在位置插入 |
o | 在光标所在的下一行插入 |
Esc | 进入命令模式 |
: | 进入底行模式 |
光标移动
命令 | 操作 |
---|---|
h | 光标向左移动一格 |
l | 光标向右移动一格 |
j | 光标向下移动一格 |
k | 光标向上移动一格 |
^ | 移动光标到行首 |
$ | 移动光标到行尾 |
G | 移动光标到文件尾 |
Gg | 移动光标到文件头 |
W | 移动光标到下一个单词 |
B | 移动光标到前一个单词 |
Ctrl+f | 向前(文件尾)翻动一页 |
Ctrl+b | 向前(文件头)翻动一页 |
删除复制和粘贴
命令 | 操作 |
---|---|
x | 删除光标所在的位置的字符 |
dd | 删除光标所在位置的行 |
D | 删除光标在所位置到行尾之间所有的字符 |
d | 删除命令,和移动命令配合使用。如dw表示删除光标所在位置到下一个单词词头之间所以的字符 |
yy | 复制光标所在的行 |
y | 复制除命令,和移动命令配合使用。如yw表示复制光标所在位置到下一个单词词头之间所以的字符 |
p | 在光标所在位置粘贴最近复制/删除的内容 |
撤销和重做
命令 | 操作 |
---|---|
u | 撤销一次操作 |
Ctrl+R | 重做被撤销的操作 |
搜索和替换
命令 | 操作 |
---|---|
:/string | 向前(文件尾)搜索字符串 string |
:/?string | 向前(文件头)搜索字符串 string |
:s/pattern/string | 将pattern所代表的字符串替换为string |
保存和退出
命令 | 操作 |
---|---|
:w | 保存文件 |
:w filename | 另存为filename |
:q | 推出vim |
q! | 强行退出vim,用于放弃保存修改的情况 |