UNIX下C语言编程与实践3-Vi 编辑器从入门到精通:快捷键使用与高效编辑技巧
一、Vi 编辑器核心:三种模式与切换方法
Vi 编辑器是 UNIX 及类 UNIX 系统(如 Linux、BSD)默认的文本编辑工具,其核心特点是通过三种模式实现不同编辑需求。初学者的核心难点在于熟练掌握模式切换逻辑,这是高效使用 Vi 的基础。
1. 命令模式(Command Mode)
进入方式:启动 Vi 后默认进入(如 vi test.c
)
核心功能:执行光标移动、文本删除、复制、粘贴等快捷操作,无法直接输入文本
常用操作:
h/j/k/l
:左/下/上/右移动光标dd
:删除当前行yy
:复制当前行p
:粘贴到光标后
2. 插入模式(Insert Mode)
进入方式:在命令模式下按 i/a/o
等插入命令
核心功能:直接输入和编辑文本,与记事本等可视化编辑器的编辑状态一致
切换回命令模式:按 Esc
键(建议按两次确认)
插入命令区别:
i
:在光标当前位置前插入a
:在光标当前位置后插入o
:在当前行下方新建一行并插入
3. 末行模式(Last Line Mode)
进入方式:在命令模式下按 :
(冒号)
核心功能:执行文件保存、退出、查找替换、配置设置等操作
切换回命令模式:按 Esc
键或执行命令后自动返回
常用命令:
:w
:保存文件(Write):q
:退出 Vi(Quit):wq
:保存并退出:q!
:强制退出(不保存修改):%s/old/new/g
:全局替换文本(old 替换为 new)
新手必记:模式切换的核心逻辑是「Esc
键返回命令模式」。无论在插入模式还是末行模式,遇到不确定的操作时,先按 Esc
回到命令模式,再重新执行操作,可避免绝大多数误操作。
二、Vi 常用快捷键对照表(按功能分类)
Vi 的高效性体现在命令模式快捷键和末行模式命令的组合使用。以下是按编辑场景分类的常用快捷键,建议初学者先掌握「基础操作」部分,再逐步扩展到「高级操作」。
1. 基础操作:光标移动与文本编辑
快捷键/命令 | 模式 | 功能描述 | 使用场景示例 |
---|---|---|---|
h/j/k/l | 命令模式 | 左/下/上/右移动光标(替代方向键,更高效) | 编辑代码时快速定位到错误行 |
0 (数字零) | 命令模式 | 光标移动到当前行开头 | 修改行首的变量定义 |
$ | 命令模式 | 光标移动到当前行末尾 | 补充行尾的分号(如 C 语言代码) |