Vim三种模式
Vim 有三种模式,分别是命令模式,输入模式和编辑模式,这 3 种工作模式可随意切换。
命令模式
vim编辑器默认处于命令模式
命令模式常用指令
i | 切换到输入模式 |
x | 删除光标所在字符 |
: | 切换到编辑模式,底部输入命令 |
G | 移动到这个档案的最后一行 |
查找文本
快捷键 | 功能描述 |
---|---|
/abc | 从光标所在位置向前查找字符串 abc |
/^abc | 查找以 abc 为行首的行 |
/abc$ | 查找以 abc 为行尾的行 |
?abc | 从光标所在为主向后查找字符串 abc |
n | 向同一方向重复上次的查找指令 |
N | 向相反方向重复上次的查找指定 |
Vim 删除文本
快捷键 | 功能描述 |
---|---|
x | 删除光标所在位置的字符 |
dd | 删除光标所在行 |
ndd | 删除当前行(包括此行)后 n 行文本 |
dG | 删除光标所在行一直到文件末尾的所有内容 |
D | 删除光标位置到行尾的内容 |
:a1,a2d | 函数从 a1 行到 a2 行的文本内容 |
Vim 复制粘贴文本
快捷键 | 功能描述 |
---|---|
p | 将剪贴板中的内容粘贴到光标后 |
P(大写) | 将剪贴板中的内容粘贴到光标前 |
y | 复制已选中的文本到剪贴板 |
yy | 将光标所在行复制到剪贴板,此命令前可以加数字 n,可复制多行 |
yw | 将光标位置的单词复制到剪贴板 |
输入模式
在命令模式下按 i 键进入输入模式,按 Esc 键即可返回命令模式。
命令模式常用指令
按键 | 功能描述 |
---|---|
i | 在当前光标所在位置插入随后输入的文本 |
I | 相当于光标移动到行首,再执行 i 命令 |
o | 在光标所在行的下面插入新的一行 |
O | 在光标所在行的上面插入新的一行 |
a | 在当前光标所在位置之后插入随后输入的文本 |
A | 相当于光标移动到行尾,再执行a命令 |
Enter | 回车键,换行 |
Backspace | 删除光标前一个字符 |
Delete | 删除光标后一个字符 |
Home/End | 移动光标到行首/行尾 |
Page Up/Page Down | 上/下翻页 |
Esc | 退出输入模式,切换到命令模式 |
编辑模式
在命令模式下按下 :(英文冒号),进入编辑模式。
按ESC键可随时退出编辑模式。
输入模式是不可以直接切换到编辑模式的
需要先按下 Esc键回到命令模式,此时左下角的 – INSERT – 会消失
再按下 :(英文冒号),进入编辑模式。
编辑模式常用命令
命令 | 功能描述 |
---|---|
:wq | 保存并退出 Vim 编辑器 |
:wq! | 保存并强制退出 Vim 编辑器 |
:q | 不保存就退出 Vim 编辑器 |
:q! | 不保存,且强制退出 Vim 编辑器 |
:w | 保存但是不退出 Vim 编辑器 |
:w! | 强制保存文本 |
:w filename | 另存到 filename 文件 |
x! | 保存文本,并退出 Vim 编辑器 |
ZZ | 直接退出 Vim 编辑器 |
Vim 其他按键说明
快捷键 | 功能描述 |
---|---|
:set nu | 显示行号,设定之后,会在每一行的前缀显示该行的行号 |
:set nonu | 与 set nu 相反,为取消行号! |
[Ctrl] + [f] | 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用) |
[Ctrl] + [b] | 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用) |
[Ctrl] + [d] | 屏幕『向下』移动半页 |
[Ctrl] + [u] | 屏幕『向上』移动半页 |
+ | 光标移动到非空格符的下一行 |
- | 光标移动到非空格符的上一行 |
0 或功能键[Home] | 这是数字『 0 』:移动到这一行的最前面字符处 (常用) |
$ 或功能键[End] | 移动到这一行的最后面字符处(常用) |
H | 光标移动到这个屏幕的最上方那一行的第一个字符 |
M | 光标移动到这个屏幕的中央那一行的第一个字符 |
L | 光标移动到这个屏幕的最下方那一行的第一个字符 |
G | 移动到这个档案的最后一行 |
nG | n 为数字。移动到这个档案的第 n 行 |
gg | 移动到这个档案的第一行,相当于 1G 命令 |
u | 撤销前一个动作(常用) |
[Ctrl]+[r] | 恢复上一个动作(常用) |
. | 重复前一个动作 (常用) |