linux中vi指令是指调用vi文本编辑器的命令,vi是linux和类unix系统中自带的一款功能强大的全屏文本编辑器,几乎所有linux发行版都会默认预装该工具,是系统管理员和开发者进行配置文件修改、代码编写等操作的常用工具。

vi指令的基本含义
vi指令的核心作用是在命令行环境下启动vi编辑器,用户可以在终端输入vi后接文件名,直接打开指定文件进行编辑,如果文件不存在则会新建该文件。它是linux系统中最基础的文本编辑相关指令之一,熟练使用vi指令可以高效完成很多文本处理工作。
vi的三种核心工作模式
vi编辑器有三种不同的工作模式,不同模式下用户的操作会有不同的效果,理解这三种模式是使用vi指令的基础:
- 命令模式:启动vi后默认进入的模式,该模式下输入的内容会被识别为编辑命令,无法直接输入文本,常用的光标移动、复制粘贴、删除等操作都在此模式下完成。
- 插入模式:用于实际输入文本内容的模式,进入该模式后输入的所有字符都会作为文件内容保存,按下
Esc键可以退出插入模式回到命令模式。 - 末行模式:在命令模式下输入
:即可进入该模式,用于执行保存文件、退出编辑器、查找替换等全局操作。
vi指令常用基础操作
启动与退出
启动vi编辑指定文件的指令如下:
# 打开当前目录下的test.txt文件,如果文件不存在则新建 vi test.txt
在末行模式下执行以下操作可以退出vi:
# 保存修改并退出 :wq # 不保存修改直接退出 :q! # 仅保存不退出 :w
命令模式常用操作
命令模式下常用的操作指令整理如下:
| 操作指令 | 功能说明 |
|---|---|
| i | 在光标当前位置前进入插入模式 |
| a | 在光标当前位置后进入插入模式 |
| dd | 删除当前整行内容 |
| yy | 复制当前整行内容 |
| p | 粘贴复制的内容到光标下一行 |
| gg | 光标跳转到文件第一行 |
| G | 光标跳转到文件最后一行 |
末行模式常用操作
末行模式下除了退出操作,还可以完成查找替换等功能:
# 查找文件中所有hello字符串,按n跳转到下一个匹配结果 /hello # 将文件中所有old字符串替换为new字符串 :%s/old/new/g # 显示行号 :set nu # 取消显示行号 :set nonu
vi和vim的关系
现在很多linux系统中的vi其实是vim的软链接,vim是vi的升级版本,增加了语法高亮、代码补全、多窗口编辑等更多实用功能,操作逻辑和vi基本兼容,用户如果使用的是vim,上述所有vi的操作指令同样适用。