在Linux系统中,vi(或其增强版vim)是一款功能强大的文本编辑器,掌握其进入方法及基本操作是Linux用户的必备技能,本文将详细介绍Linux环境下进入vi编辑器的多种方式,以及相关的操作指南和注意事项,帮助用户快速上手使用这一工具。

vi编辑器的基础概念
vi(Visual Editor)是Unix和Linux系统中最经典的文本编辑器之一,以其高效、灵活和轻量级的特点被广泛使用,现代Linux发行版通常默认安装的是vim(Vi IMproved),它是vi的增强版,添加了语法高亮、多级撤销、窗口分割等实用功能,无论是系统配置文件编辑、脚本编写还是代码开发,vi都能满足基本需求,因此学会进入并使用vi是Linux操作的重要一步。
进入vi编辑器的核心方法
进入vi编辑器主要通过命令行终端执行vi或vim命令实现,根据是否需要立即打开文件、是否以特定模式启动等需求,存在多种具体操作方式。
基本进入:直接启动vi/vim
在终端输入vi或vim命令后按回车,即可进入vi编辑器的“命令模式”(Normal Mode),此时界面显示为空白,光标位于左上角,可通过键盘输入命令进行操作。
示例:
vi
或
vim
若系统未安装vim,可通过包管理器安装,例如在Ubuntu/Debian系统中使用sudo apt install vim,在CentOS/RHEL中使用sudo yum install vim。
打开指定文件进入
若需编辑某个已存在的文件,可在命令后直接添加文件名作为参数,文件存在时,vi会加载文件内容;文件不存在时,vi会创建一个新文件(保存后才真正生成)。
示例:
vi /etc/passwd # 编辑系统用户配置文件
或

vim ~/test.txt # 编辑用户主目录下的test.txt文件
以只读模式进入
若仅需查看文件内容而不希望误修改,可通过-R参数以只读模式打开文件,此时无法直接编辑,需通过wq!等命令强制退出或切换模式。
示例:
vi -R /etc/hosts
从其他命令管道进入
通过Linux管道符,可将其他命令的输出结果直接传递给vi进行编辑,适合临时处理命令输出内容。
示例:
ls -l | vi # 将ls命令的输出结果在vi中打开
或
cat /var/log/syslog | vim # 查看系统日志并直接在vi中编辑
恢复未保存的退出文件
若因意外退出(如终端关闭)导致未保存的文件遗留,vi会生成一个以.swp结尾的交换文件,下次编辑原文件时,vi会提示是否恢复未保存的内容,选择即可继续编辑。
示例:
vi test.txt # 若test.txt意外退出,再次打开时会提示"Found a swap file..."
vi编辑器的三种核心模式
进入vi后,需理解其三种工作模式的区别,这是高效使用vi的关键:命令模式、插入模式和末行模式。
命令模式(Normal Mode)
- 进入方式:启动vi或从其他模式按
Esc键进入。 - 功能:用于执行命令,如光标移动、复制粘贴、删除文本、保存退出等。
- 常用命令:
- 光标移动:
h(左)、j(下)、k(上)、l(右);gg(跳到首行)、G(跳到末行)、nG(跳到第n行)。 - 删除操作:
x(删除当前字符)、dd(删除整行)、ndd(删除n行)。 - 复制粘贴:
yy(复制当前行)、nyy(复制n行)、p(粘贴到光标后)、P(粘贴到光标前)。 - 撤销重做:
u(撤销)、Ctrl+r(重做)。
- 光标移动:
插入模式(Insert Mode)
- 进入方式:在命令模式下按
i(光标前插入)、a(光标后插入)、o(当前行下方插入新行)、O(当前行上方插入新行)等。 - 功能:直接输入文本内容,类似普通编辑器的编辑状态。
- 退出方式:按
Esc键返回命令模式。
末行模式(Ex Mode)
- 进入方式:在命令模式下按(冒号),底部会出现命令行提示。
- 功能:执行保存、退出、搜索、替换等高级操作。
- 常用命令:
- 保存退出:
w(保存)、q(退出)、wq(保存并退出)、q!(不保存强制退出)。 - 搜索替换:(向下搜索关键词)、(向上搜索关键词)、
%s/旧文本/新文本/g(全文替换旧文本为新文本)。
- 保存退出:
常见问题与解决方案
进入vi后无法输入文字
原因:默认处于命令模式,需切换到插入模式。
解决:按i、a、o等键进入插入模式后再输入。
退出时提示“E37: No write since last change”
原因:文件未保存且尝试退出。
解决:输入wq保存退出,或q!强制放弃修改退出。

如何显示行号
方法:在末行模式下输入set nu;取消行号则输入set nonu。
示例:
:set nu
如何复制多行
方法:在命令模式下将光标移动到起始行,按nyy(n为行数),例如5yy复制当前行及后续4行,共5行。
如何粘贴文本
方法:在命令模式下将光标移动到目标位置,按p(粘贴到光标后)或P(粘贴到光标前)。
vi/vim操作速查表
为方便查阅,以下是常用操作的总结表格:
| 功能分类 | 命令 | 说明 |
|---|---|---|
| 进入/退出 | vi filename |
打开文件进入vi |
vim filename |
打开文件进入vim(增强版) | |
w |
保存文件 | |
q |
退出vi | |
wq |
保存并退出 | |
q! |
不保存强制退出 | |
| 光标移动(命令模式) | h/j/k/l |
左/下/上/右移动光标 |
gg |
跳到文件首行 | |
G |
跳到文件末行 | |
nG |
跳到第n行 | |
| 文本编辑(命令模式) | i |
光标前插入 |
a |
光标后插入 | |
o |
当前行下方插入新行 | |
dd |
删除当前行 | |
ndd |
删除n行 | |
yy |
复制当前行 | |
nyy |
复制n行 | |
p |
粘贴到光标后 | |
P |
粘贴到光标前 | |
| 搜索替换(末行模式) | 向下搜索关键词 | |
| 向上搜索关键词 | ||
%s/旧/新/g |
全文替换旧文本为新文本 | |
| 其他设置 | set nu |
显示行号 |
set nonu |
隐藏行号 |
进入vi编辑器是Linux文本操作的基础,通过掌握vi/vim命令的基本用法、理解三种工作模式的切换逻辑,并熟悉常用操作命令,用户可以高效完成各类文本编辑任务,初学者可能会对命令模式下的键盘操作感到陌生,但通过反复练习,尤其是光标移动、复制粘贴和保存退出等核心操作,便能逐渐适应vi的高效操作方式,对于更复杂的需求,还可进一步学习vim的插件配置、多窗口编辑等高级功能,进一步提升工作效率。


















