Linux Vi编辑器常用命令有哪些?vi编辑器常用快捷键

掌握Linux Vi编辑器核心命令,关键在于理解“正常模式”与“插入模式”的切换逻辑,熟练运用基础导航、文本编辑及批量替换命令,即可高效完成90%以上的日常文件处理任务。

Vi编辑器作为Linux系统中最基础且强大的文本编辑工具,其学习曲线虽陡峭,但一旦掌握,效率将呈指数级提升,不同于图形界面编辑器的所见即所得,Vi采用键盘驱动的操作逻辑,这种设计初衷是为了在资源受限的终端环境中实现极致的响应速度,对于系统管理员、开发者以及运维工程师而言,Vi不仅是修配置文件的利器,更是深入理解Unix哲学中“组合小工具完成大任务”理念的入口,业内专家指出,熟练的Vi操作能力是区分初级与高级Linux用户的显著标志之一,因为其在远程服务器维护中的无图形依赖特性具有不可替代性。

每天一个Linux命令-vi
加载中
每天一个Linux命令-vi

Vi编辑器工作模式解析与基础导航

理解Vi的核心在于打破“打字即编辑”的思维定势,Vi默认处于“正常模式”(Normal Mode),此时键盘输入被视为指令而非字符,只有进入“插入模式”(Insert Mode),你才能像使用记事本一样输入文字。

模式切换的关键按键

模式切换是Vi操作的基石,以下是几种最常用的切换方式:

  • 进入插入模式:按下 i 键(当前光标前插入)、a 键(当前光标后追加)、o 键(在当前行下方新开一行)或 I 键(行首插入)。
  • 退出插入模式:按下 Esc 键或 Ctrl + [ 组合键,返回正常模式。
  • 进入命令行模式:按下 键,用于保存、退出或执行搜索替换命令。

高效移动光标技巧

在正常模式下,光标的移动决定了你操作的范围,避免使用方向键,因为手离开主键盘区会降低效率。

  • 字符级移动h(左)、j(下)、k(上)、l(右)。
  • 单词级移动w(下一个单词开头)、b(上一个单词开头)、e(下一个单词结尾)。
  • Linux Vi编辑器常用命令有哪些?vi编辑器常用快捷键

  • 行级移动0(行首)、(行尾)、gg(文件第一行)、G(文件最后一行)。
  • 屏幕级移动Ctrl + u(向上翻页)、Ctrl + d(向下翻页)、Ctrl + f(向下整屏)、Ctrl + b(向上整屏)。

文本编辑与删除操作实战

编辑文本是Vi的高频场景,掌握组合命令能大幅减少按键次数。

删除与复制的精准控制

Vi的删除命令遵循“动词+名词”的逻辑,其中动词是删除指令,名词是移动指令。

  • 删除字符x 删除当前光标所在字符,X 删除光标前字符。
  • 删除单词dw 删除从光标到单词结尾的内容。
  • 删除整行dd 删除当前行,若需删除多行,可使用 5dd 删除当前行及下方4行,共5行。
  • 复制与粘贴yy 复制当前行,p 在光标后粘贴,P 在光标前粘贴,同样支持计数,如 3yy 复制3行。

撤销与重做的平衡

在修改过程中,犯错是难免的,Vi提供了强大的撤销机制:

  • 撤销上一步操作u
  • 重做被撤销的操作Ctrl + r

值得注意的是,Vi的撤销粒度是“命令”而非“字符”,这意味着一次 dd 删除整行后,按一次 u 即可恢复整行,无需逐个字符撤销。

搜索、替换与高级技巧

当处理大型配置文件或代码文件时,全局搜索和替换功能显得尤为重要,这也是许多用户询问“vi编辑器批量替换命令”时的核心痛点。

精准定位文本

  • 向下搜索:在正常模式下输入 后跟搜索关键词,如 /error,按 Enter 确认,按 n 跳转到下一个匹配项,按 N 跳转到上一个。
  • 向上搜索:输入 后跟关键词,方向逻辑与 相反。
  • Linux Vi编辑器常用命令有哪些?vi编辑器常用快捷键

    高亮显示:在命令行模式下输入 set hlsearch 可高亮所有匹配项,输入 nohlsearch 可取消高亮。

全局替换命令详解

替换命令格式为 [范围]s/原字符串/新字符串/[选项]

  • 当前行替换s/old/new/ 仅替换当前行第一个匹配项。
  • 全局替换%s/old/new/g 替换文件中所有行的所有匹配项。 代表整个文件,g 代表全局(每行所有匹配项)。
  • 忽略大小写set ic 开启忽略大小写模式,随后执行替换命令时将不区分大小写。
  • 确认替换s/old/new/gc 在每次替换前询问用户确认,适合谨慎操作。

正则表达式在替换中的应用

Vi支持基础正则表达式,可处理更复杂的替换场景,使用 () 捕获组引用前面匹配的内容,& 代表整个匹配串,这在代码重构或日志格式调整中极为实用。

保存退出与配置文件优化

操作完成后,正确的保存退出方式能避免数据丢失。

  • 保存并退出wqx
  • 强制退出q! 放弃所有修改并退出。
  • 只读退出q 若文件未修改可直接退出,若有修改则报错。

为了提升长期使用的体验,建议配置 .vimrc 文件,在用户主目录下创建或编辑 ~/.vimrc,加入常用设置:

set number          " 显示行号
set tabstop=4       " Tab宽度设为4空格
set shiftwidth=4    " 自动缩进宽度
set expandtab       " 将Tab转换为空格
set autoindent      " 自动缩进
set showmode        " 显示当前模式

这些配置能显著改善Vi的易用性,使其更贴近现代编辑器的习惯,据行业共识认为,良好的配置文件习惯能减少约30%的重复性按键操作,尤其在处理Python或JSON等对缩进敏感的文件时,效果更为明显。

Vi编辑器常见问题与最佳实践

Linux Vi编辑器常用命令有哪些?vi编辑器常用快捷键

在实际使用中,用户常遇到一些特定场景的问题,掌握这些技巧能避免陷入困境。

如何处理只读文件

当尝试编辑受权限保护的文件时,Vi会提示“E45: ‘readonly’ option is set”,若需强制写入,可在命令行模式下输入 w!,系统会提示输入root密码(若使用sudo启动)或要求确认覆盖,更推荐的做法是使用 sudo vi filename 以管理员权限启动编辑器,避免后续权限问题。

Vim与Vi的区别

虽然命令通用,但现代Linux系统默认安装的多为Vim(Vi IMproved),Vim提供了语法高亮、代码折叠、插件支持等增强功能,对于开发者而言,Vim的语法高亮能极大降低阅读代码错误的概率,若发现命令无效,检查是否安装了Vim而非基础Vi。

如何恢复意外关闭的文件

Vi/Vim在崩溃或意外退出时,通常会在当前目录生成以 .swp.swo 结尾的交换文件,重新打开文件时,Vi会检测到交换文件并询问是否恢复,选择“Recover”可找回未保存的修改,为避免数据丢失,建议养成频繁保存(Ctrl + s 在部分终端配置中有效,或手动 w)的习惯。

Vi编辑器常用命令Q&A

vi编辑器批量替换命令具体怎么写?

批量替换命令格式为 %s/原内容/新内容/g。 表示对整个文件生效,g 表示全局替换(每行所有匹配项)。%s/old/new/g 会将文件中所有 “old” 替换为 “new”,若需忽略大小写,需先执行 set ic

vi编辑器如何快速跳转到指定行号?

在正常模式下,直接输入行号数字,然后按 G 键即可跳转,例如输入 100G 会跳转到第100行,若行号较大,也可先按 Shift + : 进入命令行模式,输入 100 后回车。

vi编辑器中如何删除从当前行到文件末尾的所有内容?

在正常模式下,先按 d 键,再按 Shift + G(即 dG)。d 是删除命令,G 代表文件最后一行,组合起来即删除从当前光标位置到文件末尾的所有内容,包括当前行。

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/416279.html

(0)
yui3 cdn怎么用?yui3加速配置教程
上一篇 2026年6月23日 21:23
搬瓦工日本大阪软银VPS值得买吗,日本软银线路VPS推荐
下一篇 2026年6月23日 21:27

相关推荐

  • 专线宽带费用组成有哪些?企业专线宽带价格怎么算

    专线宽带的最终成交价并非单一数字,而是由一次性建设费、月租费、设备费及隐形运维费共同构成的复杂体系,企业想要真正规避价格陷阱,核心在于剥离“带宽溢价”与“增值服务溢价”,明确区分“共享带宽”与“独享带宽”的本质差异,并掌握运营商底价逻辑,简米科技在服务数百家企业的过程中发现,90%的费用争议源于对费用组成结构的……

    2026年3月7日
    11500
  • 服务器网络延迟高怎么办?服务器延迟高是什么原因

    服务器网络延迟高,绝大多数情况下的根本症结在于物理传输线路的质量与路由选择,而非单纯的带宽不足,解决延迟问题的核心在于优化线路路径,缩短物理距离,并规避拥堵节点,通过引入BGP智能多线或CN2等优质专线,能够从根本上实现数据的高速直达,这是提升用户体验最直接、最有效的手段,物理距离与路由跳数决定延迟下限网络数据……

    2026年3月3日
    12400
  • 高防IP回源怎么配置?高防IP回源配置教程

    高防IP回源配置的核心在于建立稳定的源站保护通道,通过正确设置回源白名单、优化DNS解析及调整HTTP头信息,可有效抵御大规模DDoS攻击并保障业务连续性,在网络安全领域,高防IP就像是给服务器穿上的防弹衣,而回源配置则是连接防弹衣与内部核心系统的血管,如果血管堵塞或标识错误,流量无法正确回流,业务就会中断;如……

    2026年6月17日
    1400
  • 广州ECS云服务器cpu使用率增加原因,云服务器CPU跑满怎么办

    广州ECS云服务器CPU使用率飙升的核心原因通常归结于业务负载异常、应用程序代码缺陷、系统资源竞争或外部安全威胁,精准定位并区分瞬时峰值与持续高负载是解决问题的关键,当服务器出现响应迟缓、连接超时或控制台监控报警时,运维人员需遵循由内而外、由软到硬的排查逻辑,快速恢复业务稳定性,简米科技在长期的云架构运维实践中……

    2026年3月31日
    7100
  • http服务器不回包是为什么?http服务器连接超时怎么解决

    HTTP服务器不回包通常是因为连接超时、防火墙拦截或后端服务崩溃,核心解决思路是逐层排查网络连通性、中间件配置及应用日志,当你在浏览器或客户端发起请求,却看到加载圈一直转,或者终端显示“Connection timed out”时,这种“沉默”比报错更让人抓狂,它意味着数据包发出了,但没收到回应,这不仅仅是网速……

    2026年5月31日
    3200
  • 广州FPGA服务器1M有啥用,广州FPGA服务器1M带宽能干嘛

    广州FPGA服务器配置1M带宽,核心价值在于满足低延迟、高频率的硬件加速需求,而非大数据吞吐传输,对于高频交易、边缘计算节点以及特定的AI推理场景,1M带宽足以支撑关键指令交互,是企业构建差异化算力底座的高性价比选择,核心结论:1M带宽是特定高性能计算场景的“神经中枢”,而非数据传输的“高速公路”,很多用户在选……

    2026年3月29日
    11100
  • 为何要选.io域名?.io域名适合什么网站

    选择.io域名是因为它已成为全球科技初创企业、区块链项目及SaaS平台的首选标识,凭借极高的行业辨识度、良好的SEO潜力以及独特的品牌溢价能力,它正逐步取代传统.com域名,成为开发者心中的“黄金标准”,在2026年的数字生态中,域名早已超越了简单的网络地址功能,演变为品牌资产的核心组成部分,对于追求技术创新和……

    2026年6月18日
    1100
  • html怎么让字体移动?html字体位置调整代码

    “`这种方法简单直接,但需要注意的是,负边距可能会影响相邻元素的布局,需谨慎使用,常见问题与解决方案文字移动后重叠如何处理当使用绝对定位或负边距移动文字时,很容易出现文字重叠的问题,解决这一问题的最佳实践是调整z-index属性,z-index控制元素的堆叠顺序,数值越大,元素越靠前,<div styl……

    2026年6月10日
    2900
  • 广告数据中台研发工程师就业前景好吗?2026薪资待遇如何?

    广告数据中台研发工程师就业前景极其广阔,正处于数字化转型的风口浪尖,是企业数字化营销的核心资产构建者,未来3-5年内将保持高薪且紧缺的态势,随着数字营销行业的精细化发展,企业对数据资产价值的挖掘需求呈爆发式增长,广告数据中台作为连接数据源与业务应用的枢纽,直接决定了企业的营销效率与ROI(投资回报率),这一趋势……

    2026年4月3日
    8600
  • 网站伪原创怎么做?如何快速生成伪原创内容

    伪原创的核心在于“逻辑重组+信息增量+语义重构”,而非简单的同义词替换,通过深度拆解原文结构、结合最新数据补充视角以及利用AI辅助进行句式转换,才能在2026年的百度算法下获得高排名,在2026年的搜索引擎生态中,百度的算法已经彻底告别了早期的“关键词匹配”时代,进入了以“用户意图理解”和“内容价值密度”为核心……

    2026年6月17日
    1300

发表回复

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