vi 编辑器三种模式与操作
一、三种工作模式
-
命令模式
- 刚用
vi filename打开文件时默认进入此模式 - 按键会被识别为命令,用于执行光标移动、复制粘贴等操作
- 不能直接编辑文本
- 刚用
-
编辑模式(输入模式)
- 可修改、输入文本内容
- 从命令模式进入:按
i/a/o等键 - 退出到命令模式:按
ESC键
-
底线命令模式
- 以
:开头,用于文件保存、退出等操作 - 命令输入后按回车执行
- 以
二、模式切换
text
打开文件 → 命令模式
命令模式 ←ESC— 输入模式
命令模式 —:→ 底线命令模式
-
命令模式 → 输入模式:
i/a/oi:在光标前插入o:在当前行下方新建一行并插入
-
输入模式 → 命令模式:
ESC -
命令模式 → 底线命令模式:输入
: -
底线命令模式 → 命令模式:命令执行后自动返回,或按
ESC取消
三、常用底线命令
表格
| 命令 | 作用 |
|---|---|
:q | 退出(未修改时可用) |
:w | 保存文件 |
:wq | 保存并退出 |
:wq! | 强制保存并退出 |
shift + zz | 快速保存并退出(命令模式下) |
四、光标操作(命令模式下)
- 方向键:控制光标上下左右移动
PageUp/PageDown:上下翻页Home/End:跳至行首 / 行尾G(大写):跳至文件最后一行gg:跳至文件第一行
五、复制粘贴(命令模式下)
-
复制
yy:复制光标所在行nyy:复制当前行往下n行(如3yy复制 3 行)
-
粘贴
1. `p`(小写):在当前行的**下一行**粘贴
1. `P`(大写):在当前行的**上一行**粘贴
- 删除操作(命令模式下)
表格
| 命令 | 作用 |
|---|---|
dd | 删除光标所在的当前行 |
ndd | 从当前行开始,向下删除 n 行(如 3dd 删除 3 行) |
- 撤销与反撤销(命令模式下)
表格
| 命令 | 作用 |
|---|---|
u | 撤销上一步操作(可多次撤销) |
Ctrl + r | 反撤销(重做上一步被撤销的操作) |