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)
酷番叔酷番叔
上一篇 2025年9月18日 04:21
下一篇 2025年9月18日 04:42

相关推荐

  • 如何正确撤销用户sudo权限?

    在Linux系统中,sudo用户组(通常名为sudo或wheel)用于授予用户管理员权限,直接删除sudo组本身会破坏系统管理功能,因此绝对不建议操作,正确的做法是将特定用户从sudo组中移除,从而撤销其管理员权限,以下是详细步骤和注意事项:步骤1:确认当前sudo组名称不同Linux发行版中sudo组名称可能……

    2025年6月28日
    22200
  • 为什么首次安装前必须更新软件源列表?

    通过包管理器安装(推荐)包管理器是Linux最安全高效的软件安装方式,自动处理依赖关系和更新,不同发行版的命令如下:Debian/Ubuntu系(APT)# 搜索软件(如搜索Firefox)apt search firefox# 安装软件sudo apt install firefox# 卸载软件sudo ap……

    2025年6月27日
    20900
  • linux 如何监控cpu

    Linux 中,可使用 top、htop 命令实时查看 CPU

    2025年8月17日
    18200
  • 如何修改Linux服务器密码?详细操作步骤是怎样的?

    修改Linux服务器密码是系统管理和安全维护的基础操作,根据登录方式(本地/远程)、用户权限(普通用户/root)以及是否忘记密码等不同场景,操作方法有所差异,以下是详细的操作步骤、注意事项及常见问题处理,帮助管理员安全高效地完成密码修改,本地登录修改当前用户密码当已通过控制台或本地终端登录Linux服务器时……

    2025年10月1日
    1.7K00
  • Linux命令行如何使用?新手入门到实用的操作方法与技巧详解

    Linux命令行是Linux系统的核心交互方式,通过文本指令直接与系统通信,相比图形界面更高效、灵活,尤其适合服务器管理、自动化任务和深度系统操作,掌握命令行使用是Linux用户的必备技能,下面从基础结构、常用操作、权限管理、进程控制等方面详细介绍,Linux命令行基础结构Linux命令格式统一为“命令选项参数……

    2025年9月22日
    16900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信