Linux中怎么使用vi文本编辑器

来源:建站教程作者:深圳GEO公司头衔:草根站长
导读:本期聚焦于小伙伴创作的《Linux中怎么使用vi文本编辑器》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《Linux中怎么使用vi文本编辑器》有用,将其分享出去将是对创作者最好的鼓励。

vi是Linux系统中历史悠久且应用广泛的文本编辑器,几乎所有Linux发行版都默认内置了该工具,它不需要图形界面支持,通过命令行就能完成各类文本文件的编辑工作,非常适合服务器环境下的文件修改操作。

Linux中怎么使用vi文本编辑器

vi的三种工作模式

vi编辑器有三种核心工作模式,不同模式下可执行的操作不同,理解模式切换是使用vi的基础:

  • 命令模式:启动vi后默认进入的模式,该模式下无法直接输入文本,只能执行复制、粘贴、删除、跳转等命令操作。
  • 插入模式:该模式下可以像普通文本编辑器一样输入、修改文本内容,需要按特定快捷键从命令模式切换进入。
  • 末行模式:在命令模式下输入冒号:即可进入,该模式可以执行保存文件、退出编辑器、查找替换、设置编辑器参数等操作。

启动vi编辑器

在Linux终端中输入vi命令加上要编辑的文件路径即可启动vi并打开对应文件,如果文件不存在,vi会在保存时自动创建该文件。

# 打开当前目录下的test.txt文件,如果文件不存在则创建
vi test.txt

# 打开/etc/nginx/nginx.conf配置文件
vi /etc/nginx/nginx.conf

模式切换方法

命令模式切换到插入模式

在命令模式下按下以下按键可以进入插入模式,不同按键对应不同的插入位置:

  • i:在当前光标位置前开始插入文本
  • a:在当前光标位置后开始插入文本
  • o:在当前光标所在行的下方新开一行并进入插入模式
  • I:跳转到当前行的行首并进入插入模式
  • A:跳转到当前行的行尾并进入插入模式
  • O:在当前光标所在行的上方新开一行并进入插入模式

插入模式/末行模式切换到命令模式

在插入模式下按下Esc键即可回到命令模式;在末行模式下按下Esc键或者执行完末行命令后,也会自动回到命令模式。

命令模式切换到末行模式

在命令模式下直接按下:键,终端底部会出现冒号提示符,此时就进入了末行模式,可以输入对应的末行命令。

常用操作命令

命令模式下的常用操作

光标移动

  • h:光标向左移动一个字符
  • j:光标向下移动一行
  • k:光标向上移动一行
  • l:光标向右移动一个字符
  • 0:光标移动到当前行的行首
  • $:光标移动到当前行的行尾
  • gg:光标移动到文件的第一行
  • G:光标移动到文件的最后一行
  • nG:光标移动到文件的第n行,比如5G就是移动到第5行

文本编辑操作

  • x:删除当前光标所在位置的字符
  • dd:删除当前光标所在的整行
  • ndd:删除从当前行开始的n行,比如3dd删除当前行及下方2行共3行
  • yy:复制当前光标所在的整行
  • nyy:复制从当前行开始的n行
  • p:将复制或删除的内容粘贴到当前光标所在行的下方
  • P:将复制或删除的内容粘贴到当前光标所在行的上方
  • u:撤销上一步操作
  • Ctrl + r:重做被撤销的操作

末行模式下的常用操作

  • :w:保存当前编辑的文件,不退出vi
  • :w 文件名:将当前编辑的内容另存为指定的文件名
  • :q:退出vi编辑器,如果文件有未保存的修改会提示无法退出
  • :q!:强制退出vi编辑器,不保存任何修改
  • :wq:保存当前文件并退出vi编辑器
  • :set nu:显示文件的行号
  • :set nonu:取消显示文件的行号
  • /关键词:在文件中向下查找指定的关键词,按n跳转到下一个匹配位置,按N跳转到上一个匹配位置
  • ?关键词:在文件中向上查找指定的关键词,跳转逻辑和/查找一致
  • :s/old/new/g:将当前行中所有的old字符串替换为new字符串
  • :%s/old/new/g:将整个文件中所有的old字符串替换为new字符串

完整使用示例

以下是一个使用vi创建并编辑新文件的完整流程示例:

# 1. 启动vi创建test.txt文件
vi test.txt

# 2. 此时进入命令模式,按下i键进入插入模式,输入以下内容
Hello Linux vi Editor
This is a test file
Learn vi basic operations

# 3. 按下Esc键回到命令模式,按下:进入末行模式,输入set nu显示行号
:set nu

# 4. 再次回到命令模式,按下3G跳转到第3行,按下dd删除第3行
# 5. 按下yy复制当前行,按下p粘贴到当前行下方
# 6. 回到命令模式,按下:进入末行模式,输入wq保存并退出
:wq

常见问题处理

如果编辑文件时意外断开了终端连接,再次打开文件时可能会出现交换文件报错,此时可以选择以下操作:

  • 按下D键删除交换文件,恢复编辑
  • 按下R键恢复未保存的修改内容
  • 按下Q键退出,不恢复修改

如果是误操作导致文件内容被修改,可以在命令模式下按下u多次撤销操作,直到恢复到需要的内容状态再保存。

viLinux文本编辑器命令行修改时间:2026-07-05 22:09:13

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。