Linux中如何启动vi编辑器?

vi是Linux系统中经典的文本编辑器,因其轻量、高效且预装在大多数发行版中,成为开发者和管理员常用的工具,启动vi的方式多样,可根据需求选择不同的启动参数,同时理解其模式切换逻辑是高效使用的基础。

linux如何启动vi

Linux中启动vi的详细方法

基础启动方式

vi的启动核心命令vi,后接可选参数或文件名,根据是否指定文件、定位位置或恢复会话,可分为以下几种常见场景:

直接启动vi(不指定文件)
在终端输入vi后回车,将打开一个空白缓冲区(未命名文件),此时可编辑内容,保存时需指定文件名。

vi

启动vi并打开/创建文件
若指定文件名,文件存在则打开,不存在则创建新文件,这是最常用的启动方式:

vi test.txt       # 打开或创建test.txt
vi /path/to/file  # 打开绝对路径下的文件

定位到文件的特定行
编辑大文件时,常需直接跳转到指定行,可通过+n参数实现(n为行号):

linux如何启动vi

vi +20 test.txt   # 打开test.txt并定位到第20行

定位到匹配关键词的行
若需快速找到包含特定关键词的位置,使用+/patternpattern为关键词):

vi +/error log.txt  # 打开log.txt并定位到第一个包含"error"的行

恢复异常退出的编辑会话
若vi因崩溃或强制退出未保存,会生成.swp备份文件,使用-r参数可恢复未保存的修改:

vi -r test.txt    # 恢复test.txt的未保存内容

启动方式速查表

为方便快速参考,以下是常用启动命令的总结:

命令格式 功能描述 示例场景
vi 启动空白编辑器 临时编辑、快速记录
vi filename 打开/创建文件并编辑 日常文本编辑、代码修改
vi +n filename 打开文件并定位到第n行 定位到日志文件的错误行
vi +/pattern filename 打开文件并定位到匹配关键词的行 搜索代码中的特定函数
vi -r filename 恢复异常退出的未保存内容 崩溃后恢复编辑内容

启动后的核心模式与切换

vi的核心优势在于其模式化编辑,启动后默认进入普通模式(Normal Mode),此时无法直接输入文字,需切换模式才能编辑:

linux如何启动vi

  • 普通模式:默认模式,用于导航(如hjkl移动光标)、复制(yy)、粘贴(p)、删除(dd)等操作。
  • 插入模式:用于输入文字,从普通模式进入:
    • i:在当前光标前插入
    • a:在当前光标后插入
    • o:在下一行新开一行插入
    • O:在上一行新开一行插入
  • 命令行模式:用于保存、退出等操作,从普通模式按进入,输入命令后回车执行。

示例流程

vi test.txt  # 启动并打开test.txt(普通模式)
i            # 按`i`进入插入模式,输入文字
Hello Linux! # 文字输入完成
Esc          # 按`Esc`返回普通模式
:wq          # 输入`:wq`保存并退出(`:w`保存,`:q`退出)

常见问题处理

  • 文件只读提示:若文件无写入权限,启动后会显示[readonly],此时需用强制保存:w!(需root权限)。
  • 无法输入文字:确认是否处于普通模式,按ia切换到插入模式。

相关问答FAQs

Q1:vi启动后按键盘字母没有反应,无法输入文字,怎么回事?
A:vi启动后默认处于普通模式(Normal Mode),此模式下键盘输入会被视为命令而非文字,需先切换到插入模式才能输入:按i键在当前光标前插入,a键在当前光标后插入,o键在下一行新开一行插入,按Esc键可从插入模式返回普通模式。

Q2:如何在不退出vi的情况下保存文件并继续编辑?
A:在普通模式下,按进入命令行模式,输入w后回车(w),此时文件已保存但vi不退出,可继续编辑,若需保存并退出,输入wq后回车;若不想保存直接退出,输入q!后回车(强制退出,不保存修改)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/25148.html

(0)
酷番叔酷番叔
上一篇 1小时前
下一篇 1小时前

相关推荐

  • linux打开网页如何

    Linux 中,可通过浏览器如 Firefox、Chrome 等打开网页,也可使用命令行工具

    2025年8月13日
    2100
  • 现代浏览器必备编解码器与DRM支持?

    现代浏览器的核心要素包括必要的编解码器和DRM支持,编解码器确保流畅播放多种音视频格式,DRM则保障受保护内容的合法访问,二者共同构成完整多媒体体验的基础。

    2025年7月1日
    3600
  • Linux如何快速进入MySQL?

    前提条件安装MySQL服务若未安装MySQL,先执行以下命令:Ubuntu/Debian: sudo apt updatesudo apt install mysql-serverCentOS/RHEL: sudo yum install mysql-serversudo systemctl start mys……

    2025年6月27日
    3300
  • Linux如何永久删除sudo用户?

    方法1:仅移除sudo权限(保留用户账户)适用于需保留用户但撤销管理员权限的场景,查看用户所属组执行命令确认用户是否在sudo或wheel组(不同系统组名可能不同):groups 用户名 # groups john若输出包含sudo或wheel,则需移除,移除sudo组使用gpasswd命令从组中删除用户:su……

    2025年6月28日
    3400
  • 如何在Ubuntu安装SSH服务端?

    Linux远程控制全面指南远程控制是Linux系统管理的核心技能之一,无论是管理服务器、协助同事还是访问家庭设备,掌握多种远程控制方法至关重要,以下是专业、安全且高效的Linux远程控制方案:SSH:命令行远程管理(最常用)原理:通过加密通道访问远程Shell适用场景:服务器运维、文件传输、脚本执行配置步骤……

    2025年7月17日
    2700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信