vi 是 Linux/Unix 系统自带的经典文本编辑器,无需额外安装,兼容性极强。vim 是 vi 的增强版(支持语法高亮、代码补全、行号显示等),绝大多数 Linux 发行版会默认安装并将 vi 软链接到 vim,下文统一以 vi 讲解(vim 完全兼容)。
核心特点:有三种工作模式,操作依赖键盘快捷键,无图形化界面,运行轻量,适合服务器端快速编辑文件。
一、vi 的三种核心工作模式
vi 的所有操作都围绕命令模式、输入模式、末行模式展开,模式间可快速切换,这是掌握 vi 的基础。
1. 命令模式(默认模式)
- 打开 vi 后默认进入,无法直接输入文字,用于执行光标移动、复制、粘贴、删除、撤销等快捷操作。
- 任何其他模式下,按Esc 键可快速切回命令模式(按一次没反应可按两次,确保退出其他模式)。
2. 输入模式(编辑模式)
- 用于输入 / 修改文本内容,只有进入此模式才能敲入文字。
- 从命令模式通过触发键进入(如
i/a/o),界面底部会显示-- INSERT --(vim 中)。
3. 末行模式(底线命令模式)
- 用于执行保存、退出、查找替换、行号显示、文件操作等高级命令,命令以冒号 : 开头,输入后按回车执行。
- 从命令模式按 :(冒号)进入,光标会跳到屏幕最底部的末行,等待输入命令。
模式切换总结:
命令模式 → 输入模式:按 i/a/o 等触发键
命令模式 → 末行模式:按 : / ? 等符号
输入模式/末行模式 → 命令模式:按 Esc 键
二、vi 的基础操作:打开 / 关闭文件
1. 打开 vi 并编辑文件
在 Linux 终端直接输入以下命令,回车即可,支持新建文件和编辑已有文件:
# 编辑已有文件,文件路径可绝对/相对
vi 文件名/文件路径
# 示例:编辑当前目录的 test.txt,若不存在则新建
vi test.txt
# 示例:编辑 /root 目录的 config.conf
vi /root/config.conf
- 若文件存在:直接打开并加载文件内容,进入命令模式。
- 若文件不存在:打开空白编辑界面,保存后会在对应路径创建文件。
2. 强制退出 vi(无保存)
若打开文件后未做修改,或想放弃修改直接退出,操作:
- 按 Esc 切回命令模式;
- 按 :q 回车(末行模式命令),即可退出。
- 若文件已修改,
:q会报错(提示No write since last change),需强制放弃修改退出::q!回车(!表示强制)。
3. 保存并退出 vi
- 按 Esc 切回命令模式;


