vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。
1. 三种模式 & 切换
┌───────────────┐ i,a,o ┌────────────┐ : ┌──────────────┐
│ 命令模式 (ESC) │ ───────→ │ 插入模式 │ ───→ │ 底行模式 │
└───────────────┘ ←─────── └────────────┘ ←─── └──────────────┘
简记:按 ESC 回命令、按 i 进插入、按 : 进底行。
2. 打开 / 保存 / 退出
| 操作 | 按键 |
|---|
| 打开文件 | vi filename |
| 保存 | :w |
| 另存为 | :w newname |
| 退出 | :q |
| 强制退出(不保存) | :q! |
| 保存并退出 | :wq 或 ZZ |
3. 光标移动
| 方向 | 键 |
|---|
| 左下上右 | h j k l |
| 行首 / 行尾 | ^ / $ |
| 文件首 / 尾 | gg / G |
| 跳到第 N 行 | Ngg 或 :N |
| 下一页 / 上一页 | Ctrl+f / Ctrl+b |
4. 插入 & 替换
| 动作 | 按键 |
|---|
| 光标前插入 | i |
| 光标后插入 | a |
| 新建下一行 | o |
| 替换 1 字符 | r |
| 连续替换 | R(按 ESC 退出) |
5. 删除 / 复制 / 粘贴
| 动作 | 按键 | 说明 |
|---|
| 删除字符 | x / X | 后删 / 前删 |
| 删除整行 | dd | 可加数字,如 3dd |
| 复制单词 | yw | 可复制 N 个 Nyw |
| 复制整行 | yy | Nyy = 复制 N 行 |
| 粘贴 | p | 当前行下 |
| 撤销 | u | 无限撤销 |
| 重做 | Ctrl+r | 反撤销 |
6. 搜索 / 替换(底行模式)
| 功能 | 命令 |
|---|
| 向下搜索 | /keyword + n 下一个 |
| 向上搜索 | ?keyword + n 上一个 |
| 全局替换 | :%s/old/new/g |
| 当前行替换 | :s/old/new/ |
7. 行号 & 语法高亮
| 功能 | 命令 |
|---|
| 显示行号 | :set nu |
| 关闭行号 | :set nonu |
| 打开语法高亮 | :syntax on |
| 关闭语法高亮 | :syntax off |
8. 高频快捷键图
i 插入
ESC 回命令
:wq 保存退出
dd 删除整行
yy → p 复制粘贴
/xx 搜索
u 撤销
gg=G 自动缩进全文