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 自动缩进全文