QT实战:Unix 下 vi 编辑器常用命令速查表
vi 编辑器是 Unix/Linux 系统中经典且必备的文本编辑工具,它无需依赖图形界面,在服务器管理、代码编写、配置文件修改等场景中都能发挥关键作用。由于 vi 采用多模式操作逻辑,新手容易因模式切换混乱而降低效率,为此整理这份常用命令速查表,按操作模式分类梳理核心指令,帮助不同层级的使用者快速上手、高效操作。
一、模式切换(基础中的基础)
vi 的核心操作依赖模式切换,不同模式对应不同功能,掌握切换方式是使用 vi 的前提。
| 操作 | 命令 | 说明 |
|---|---|---|
| 命令模式 → 插入模式 | i |
在光标当前位置前插入(最常用) |
| 命令模式 → 插入模式 | a |
在光标当前位置后插入 |
| 命令模式 → 插入模式 | o |
在光标下一行新建空行并插入 |
| 命令模式 → 插入模式 | O |
在光标上一行新建空行并插入 |
| 插入模式 → 命令模式 | Esc |
退出插入,回到命令模式(必记) |
| 命令模式 → 末行模式 | : |
输入冒号进入,用于保存、退出、查找替换等 |
二、命令模式(移动 / 删除 / 复制,高频)
进入 vi 后默认处于命令模式,该模式下可实现光标定位、内容删改、复制粘贴等基础操作,无需进入插入模式即可完成大部分编辑准备工作。
1. 光标移动(无需按 Esc,命令模式直接用)
| 命令 | 说明 | 适用场景 |
|---|---|---|
h/j/k/l |
左 / 下 / 上 / 右移动(替代方向键,高效) | 精细移动光标 |
0(数字零) |
跳到行首 | 快速定位行开头 |
$ |
跳到行尾 | 快速定位行结尾 |
gg |
跳到文件开头 | 从头编辑文件 |
G |
跳到文件末尾 | 编辑文件最后内容 |
nG(如 10G) |
跳到第 n 行 | 定位指定行(如编译报错的行号) |
w |
跳到下一个单词开头 | 按单词移动(编辑代码变量) |
b |
跳到上一个单词开头 | 回退单词 |
2. 删除 / 剪切(命令模式)
| 命令 | 说明 | 示例 |
|---|---|---|
x |
删除光标所在字符 | 删单个错字 |
dd |
删除 / 剪切当前行(整行) | 删空行、错行(最常用) |
ndd(如 3dd) |
删除 / 剪切从当前行开始的 n 行 | 删多行代码 |
d$ |
删除从光标到行尾的内容 | 删行尾多余内容 |
d0 |
删除从光标到行首的内容 | 删行首多余内容 |
dw |
删除光标所在单词 | 删代码中的变量名 |
3. 复制 / 粘贴(命令模式)
| 命令 | 说明 | 示例 |
|---|---|---|
yy |
复制当前行(整行) | 复制单行代码(最常用) |
nyy(如 5yy) |
复制从当前行开始的 n 行 | 复制多行代码 |
p |
粘贴到光标下一行 | 粘贴复制 / 剪切的内容 |
P |
粘贴到光标上一行 | 向上粘贴 |
4. 撤销 / 重做(命令模式)
| 命令 | 说明 | 场景 |
|---|---|---|
u |
撤销上一步操作 | 改错内容时回退 |
Ctrl + r |
重做撤销的操作 | 撤销错了恢复 |
三、末行模式(保存 / 退出 / 查找替换,核心)
先按 Esc 回到命令模式,再按 : 进入末行模式,命令输入后按回车执行,该模式主要用于文件的整体管理和批量内容修改。
| 命令 | 说明 | 常用程度 |
|---|---|---|
:w |
保存文件(不退出) | ⭐⭐⭐⭐⭐ |
:w filename |
另存为指定文件名 | ⭐⭐⭐ |
:q |
退出 vi(文件未修改时) | ⭐⭐⭐⭐⭐ |
:q! |
强制退出,不保存修改 | ⭐⭐⭐⭐ |
:wq / :x |
保存并退出(等价,最常用) | ⭐⭐⭐⭐⭐ |
:set nu |
显示行号(编辑代码必备) | ⭐⭐⭐⭐⭐ |
:set nonu |
隐藏行号 | ⭐⭐ |
:/keyword |
向下查找关键词(如 :/QIcon) |
⭐⭐⭐⭐ |
:?keyword |
向上查找关键词 | ⭐⭐⭐ |
:n |
查找下一个匹配项(按回车也可) | ⭐⭐⭐⭐ |
:N |
查找上一个匹配项 | ⭐⭐⭐ |
:%s/old/new/g |
全局替换:将文件中所有 old 替换为 new | ⭐⭐⭐⭐ |
:%s/old/new/gc |
全局替换,每次替换前确认(c=confirm) | ⭐⭐⭐ |
:n1,n2s/old/new/g |
替换 n1 到 n2 行的 old 为 new(如 :5,10s/abc/def/g) |
⭐⭐⭐ |
四、实用进阶命令(开发场景高频)
| 命令 | 模式 | 说明 |
|---|---|---|
Ctrl + f |
命令模式 | 向下翻页(查看长文件,如日志) |
Ctrl + b |
命令模式 | 向上翻页 |
r |
命令模式 | 替换光标所在字符(无需进入插入模式) |
:%d |
末行模式 | 删除文件所有内容(慎用) |
:w !sudo tee % |
末行模式 | 强制保存只读文件(如系统配置文件) |
:set hlsearch |
末行模式 | 高亮显示查找结果(默认开启) |
:set nohlsearch |
末行模式 | 取消查找高亮 |
五、新手避坑提示
-
忘记切换模式:编辑内容前必须按
i/a/o进入插入模式,否则输入的字符会被识别为命令,容易误操作; -
保存退出失败:只读文件需加
sudo(如:w !sudo tee %),若无需保留修改可直接用:q!强制退出; -
查找替换失效:全局替换必须加
g标识(如:%s/old/new/g),不加则仅替换每行第一个匹配项。
总结
vi 编辑器的操作核心在于模式切换 和指令组合,新手可先牢记基础的模式切换、内容保存退出及行级删改指令,再逐步掌握批量查找替换等进阶功能。无论是编写代码、修改系统配置,还是查看日志文件,这份速查表都能覆盖绝大多数使用场景,建议使用者结合实际操作反复练习,形成肌肉记忆以提升编辑效率。
(注:文档部分内容可能由 AI 生成)