Vim
- Vim区分大小写,若有需要大写的操作建议按
shift + <字母>
- 本文中用
[n]
表示数字n,n
表示字母n。并且本文出现的[n]
均可不写,此时效果与[1]
等同 - 插入模式和可视化模式均比较容易理解,将其整合在普通模式里介绍
1 普通模式
1.1 光标操作 Cursor Operation
按键 | 功能 |
---|---|
h / l | ← / → |
j / k | ↓ / ↑ |
w | 到下一个单词的开头 |
e | 到本单词的结尾 |
b | 到本单词的开头 |
0 或^ | 到行头 |
$ | 到行尾 |
f<字母> | 向后搜索<字母>并跳转到第一个匹配的位置 |
F<字母> | 向前搜索<字母>并跳转到第一个匹配的位置 |
G | 到最后一行 |
gg | 光标移动到到第一行 |
[n]G | 光标移动到第 n 行 |
1.2 字符操作 Character Operation
按键 | 功能 |
---|---|
x | 删除光标所在的字符 |
X | 删除光标所在前一个字符 |
dd | 删除整行 |
yy | 复制整行 |
p | 粘贴至光标行下 |
P | 粘贴至光标行上 |
d[CursorO] | 删除原本光标位置到光标操作后位置之间字符 |
y[CursorO] | 复制原本光标位置到光标操作后位置之间字符 |
[n]>> | 从光标行开始n行向右缩进 |
[n]<< | 从光标行开始n行向右缩进 |
r+<字母> | 将光标所在字母替换为指定字母 |
R | 连续替换,直到按下Esc |
~ | 反转光标所在字母大小写 |
1.3 进入插入模式
按键 | 功能 |
---|---|
i | 在当前光标处进行编辑 |
I | 在行首插入 |
A | 在行末插入 |
a | 在光标后插入编辑 |
o | 在当前行后插入一个新行 |
O | 在当前行前插入一个新行 |
c[CursorO] | 删除原本光标位置到光标操作后位置之间字符,并进入插入模式 |
1.4 可视化模式
1.4.1 进入可视化模式
按键 | 功能 |
---|---|
v | 进入可视化模式 |
shift+v | 进入行选择模式 |
Ctrl+v | 进入区域选择模式 |
1.4.2 可视化模式操作
按键 | 功能 |
---|---|
EscEsc | 返回普通模式 |
[CursorO] | 选择字符范围 |
[CharO] | 进行字符操作 |
1.5 其余常用操作
按键 | 功能 |
---|---|
Ctrl+o | 回到操作前光标位置 |
. | 重复上一次操作,无法重复本节命令 |
[n]u | 撤销一次或n次操作该操作会撤销一次插入模式全部数据 |
Ctrl+r | redo,即撤销undo的操作 |
Ctrl+s | 锁定屏幕 |
Ctrl+q | 解锁屏幕 |
2 命令行模式
2.1 文件保存与退出
命令 | 功能 |
---|---|
:q | 退出 |
:x | 保存并退出 |
:wq | 保存并退出 |
:q! | 强制退出,不保存 |
:wq! | 强制保存并退出 |
:w <文件路径> | 另存为 |
:saveas 文件路径 | 另存为 |
2.2 搜索
命令 | 功能 |
---|---|
/<string> | 向下查找字符串<string> |
?<string> | 向上查找字符串<string> |
n | 跳转到下一个结果 |
N | 跳转到上一个结果 |
\* | 向下查找光标所在处的单词 |
\# | 向上查找光标所在处的单词 |
2.3 set设置
命令 | 功能 |
---|---|
:set nu | 显示行数 |
:set autoindent(ai) | 设置自动缩进 |
:set autowrite(aw) | 设置自动存档,默认未打开 |
:set background=[dark/light] | 设置背景风格 |
:set backup(bk) | 设置自动备份,默认未打开 |
2.3 其余常用命令
命令 | 功能 |
---|---|
:ver | 显示版本号 |
:![cmd] | 调用shell命令 |
:ce | 居中 |
:ri | 右对齐 |
:le | 左对齐 |
3 多文件以及多视窗
3.1 多文件编辑
命令 | 功能 |
---|---|
$ vim file1 file2 | 打开file1、2文件 |
:n / :N | 编辑下/上一个文件 |
:e file | 打开新文件file,会关闭原文件 |
:e! file | 打开新文件file,会强制关闭原文件 |
:e# | 回到前一个文件 |
:ls | 可以列出以前编辑过的文档 |
:b file | 编辑file,需打开过file文件 |
:bd file | 删除file,需打开过file文件 |
:f | 显示正在编辑的文件名 |
:f file.txt | 改变正在编辑的文件名字为file.txt |
3.2 创建窗口
命令 | 功能 |
---|---|
$ vim -o ... | 分屏打开文件 |
:new | 打开一个新的vim视窗 |
:sp file | 打开新的水平分屏视窗编辑file |
:vsp file | 打开新的垂直分屏视窗编辑file |
Ctrl-w s | 将当前窗口分割成两个水平的窗口 |
Ctrl-w v | 将当前窗口分割成两个垂直的窗口 |
Ctrl-w o | 打开一个视窗并且隐藏之前的所有视窗 |
3.3 窗口操作
命令 | 功能 |
---|---|
Ctrl-w j/k | 移至下面/上面视窗 |
Ctrl-w [h/l] | 移至左边/右边视窗 |
Ctrl-w [J/K] | 将当前视窗移至下面/上面 |
Ctrl-w [H/L] | 将当前视窗移至左边/右边 |
Ctrl-w - | 减小视窗的高度 |
Ctrl-w + | 增加视窗的高度 |
参考资料
- 实验楼Vim编辑基础