Vim 常用命令
在本文中,blank 字符指空格符、制表符、回车符、换行符等等,$
表示美元符号,${}
表示占位符。
Normal 模式
移动光标
命令 | 描述 |
---|---|
h、← | 向左移动光标 |
j、↓ | 向下移动光标 |
k、↑ | 向上移动光标 |
l、→ | 向右移动光标 |
Ctrl + b、PgUp | 向上翻页 |
Ctrl + f、PgDn | 向下翻页 |
Ctrl + u | 向上翻半页 |
Ctrl + d | 向下翻半页 |
0、Home | 移动光标至当前行的第一个位置 |
$、End | 移动光标至当前行的最后一个位置 |
H | 移动光标至当前页的第一列的第一个字符位置 |
M | 移动光标至当前页的中间列的第一个字符位置 |
L | 移动光标至当前页的最后一列的第一个字符位置 |
^ | 移动光标至当前行的第一个非 blank 字符位置 |
g_ | 移动光标至当前行的最后一个非 blank 字符位置 |
${n}G | 相当于 |
gg | 相当于 1G 和 |
G | 移动光标至当前文件的最后一行 |
${n} + Space | 向右移动光标至之后 n 个字符的位置 |
f${char} | 向右移动光标至下个 char 字符的位置 |
F${char} | 向左移动光标至上个 char 字符的位置 |
t${char} | 向右移动光标至下个 char 字符的前一个位置 |
T${char} | 向左移动光标至上个 char 字符的前一个位置 |
复制、粘贴、删除
命令 | 描述 |
---|---|
yy | 复制当前行 |
y + 移动光标 | 复制光标移动过程中的内容 |
选中内容 + y | 复制光标选中的内容 |
p | 执行 a / 向下,再粘贴剪贴板内容 |
P | 执行 i / 向上,再粘贴剪贴板内容 |
x | 向右删除一个字符,相当于插入模式中的 fn + Delete |
X | 向左删除一个字符,相当于插入模式中的 Delete |
dd | 删除当前行,并把删除的内容保存至剪贴板中,相当于「剪切」功能 |
d + 移动光标 | 删除光标移动过程中的内容 |
选中内容 + d | 删除光标选中的内容 |
搜索
命令 | 描述 |
---|---|
/ ${word} | 向下搜索 word 关键字 |
? ${word} | 向上搜索 word 关键字 |
n | 重复前一个搜索动作 |
N | 反向重复前一个搜索动作 |
普通命令
命令 | 描述 |
---|---|
= | 缩进当前行 |
选中内容 + = | 缩进光标选中的内容 |
guu | 转换当前行为小写 |
选中内容 + gu | 转换选中内容为小写 |
gUU | 转换当前行为大写 |
选中内容 + gU | 转换选中内容为大写 |
u | undo,撤销上一次操作 |
Ctrl + r | redo,撤销 u 操作 |
. | 重复执行上一次命令 |
${n} | 重复执行 n 次 |
ZZ、:wq | 相当于 |
Visual 模式
选中内容
命令 | 描述 |
---|---|
v | 选择字 |
V | 选择行 |
Ctrl + v | 选择块 |
Ctrl + z | 挂起 Vim(相当于执行 |
Insert 模式
命令 | 描述 |
---|---|
i | 从光标所在的位置进入 INSERT 模式 |
I | 从光标所在的第一个非 blank 字符位置进入 INSERT 模式 |
a | 从光标所在的下一个位置进入 INSERT 模式 |
A | 从光标所在的当前行的最后一个位置进入 INSERT 模式 |
o | 从光标所在的下一行位置进入 INSERT 模式 |
O | 从光标所在的上一行位置进入 INSERT 模式 |
r | 替换光标所在的位置的第一个字符,并进入 INSERT 模式 |
R | 从光标所在的位置进入 REPLACE 模式 |
Esc | 退出 Insert 模式,回到 Normal 模式 |
Ctrl + n | 开启自动补全 |
Ctrl + p | 开启自动补全,并跳至最后一个选项 |
Command-line 模式
命令 | 描述 |
---|---|
:${n} | 移动光标至当前文件的第 n 行 |
:! + ${shell} | 执行一条 |
:sh、:shell | 挂起 Vim,执行多条 |
:pwd | 打印当前目录 |
:cd ${dir} | 改变当前目录 |
:e ${fileName} | 打开新的文件 |
:r ${fileName} | 读取文件内容至当前文件中 |
:r! ${shell} | 读取 |
:w | 保存当前文件内容 |
:w ${fileName} | 保存当前文件内容为新的文件,类似于「文件另存为」功能 |
:q | 退出 Vim |
:q! | 强制退出 Vim |
:wq、ZZ | 保存并退出 Vim |
:n | 编辑下一个文件 |
:N | 编辑上一个文件 |
:files | 列出打开的所有文件 |
:sp、:split | 创建水平分屏 |
:vsp、:vsplit | 创建垂直分屏 |
:Ctrl + w + [h, j, k, l] | 在分屏窗口中移动光标 |
:Ctrl + w + [H, J, K, L] | 移动分屏窗口 |
参考资料
Vim :help —— VIM main help file
Vim (text editor) —— Wikipedia
Vim 程式編輯器 —— 鳥哥的 Linux 私房菜
Vim 的分屏功能 —— 酷 壳 - CoolShell
简明 Vim 练级攻略 —— 酷 壳 - CoolShell
无插件 Vim 编程技巧 —— 酷 壳 - CoolShell
最后更新于