虚拟机命令vi怎么用?新手必学,vi编辑器常用操作指令有哪些

虚拟机命令vi怎么用?这是每个Linux新手都绕不开的第一道坎,vi是所有Linux发行版和虚拟机系统内置的通用文本编辑器,掌握它不需要安装任何额外软件,你只需要学会三种模式切换和几个核心命令,就能完成绝大多数编辑任务。

vi编辑器到底是什么:为什么虚拟机上非用它不可

很多刚接触Linux虚拟机的朋友会疑惑:Windows上有记事本,有Word,为什么一到Linux终端里就非得用vi?这背后其实是个很实在的原因。

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

虚拟机环境下的特殊性:没有图形界面怎么办

大多数云服务器、远程连接场景下,你面对的就是一个黑乎乎的终端窗口,根本没有桌面环境可用,Linux运维的核心工作,有相当一部分时间是在命令行修改配置文件,比如网卡配置、软件源列表、服务参数等,vi就是终端环境下最普及的编辑器,它出现在每一台Linux机器上,不会因为你是CentOS、Ubuntu还是Debian而缺席。

行业共识认为:只要你在终端里工作超过一天,就必然会在某个时刻被vi”逼着”完成一次编辑任务。

vi和vim的区别:两个名字别搞混

在输入vim命令时,大多数Linux发行版实际打开的是vim(Vi Improved),它是vi的增强版,区别在于:vim支持语法高亮和多级撤销,更推荐直接养成使用vim命令的习惯,但教程和文档中提到的vi操作方式完全同样适用。

虚拟机命令vi怎么用的核心:先理解”三种模式”这个概念

新手用vi最容易犯的错就是:打开文件后噼里啪啦打字,结果什么都没输入进去,然后拼命按Ctrl+C、Ctrl+Z,问题根源在于你根本不清楚vi和普通编辑器的核心差异。

vi不只是一个编辑器,它更像个带状态切换的工具,它有三种运行状态,你必须在它们之间熟练切换才能正常使用。

命令模式:你进入vi后所在的初始状态

打开vi的瞬间,你就处于命令模式,这个模式下,你按下的几乎所有按键都不是输入文字,而是操作指令比如删除一行、复制一段、移动光标,很多新手卡在这一步,就是因为把命令模式当成了输入模式。

插入模式:真正往文件里打字的状态

在命令模式下按i(光标前插入)或a(光标后插入),就进入插入模式,此时你才能像在普通文本编辑器里一样打字,屏幕左下角会显示-- INSERT --标识,提醒你当前状态。

末行模式:执行保存、退出、搜索等底层操作

在命令模式下按冒号,光标会跳到屏幕最底部,这就是末行模式,在这里输入w保存、q退出、wq保存并退出、q!不保存强制退出,新手最容易混淆的就是:先按了wq想保存,但因为没在命令模式下按,结果屏幕上出现一串乱码。

vi编辑器基本操作命令清单:高频命令逐个说清楚

理解了三种模式后,接下来是实操环节,以下命令按使用频率排序,建议一边在虚拟机里练习一边记忆。

进入和退出:第一步和最后一步怎么操作

  • 打开文件:vi 文件名,如果文件不存在会自动创建新文件
  • 退出且不保存:按Esc确保回到命令模式,然后输入q!回车
  • 保存并退出:按Esc,输入wq回车
  • 只保存不退出:按Esc,输入w回车

有个常见痛点对新手非常劝退:当你按Esc后,不确定自己是不是已经回到命令模式,判断方法很简单连按两下Esc,听到”嘀”声或底部提示消失,就说明已经回到命令模式。

光标移动:别用方向键,效率差异明显

在小键盘或方向键可用的情况下,新手倾向于用方向键移动光标,这当然没问题,但真正的效率提升来自命令模式下的字母键:

  • h、j、k、l分别代表左、下、上、右

    虚拟机命令vi怎么用?新手必学,vi编辑器常用操作指令有哪些

  • 0跳到行首,跳到行尾
  • gg跳到文件第一行,G跳到文件最后一行
  • 数字直接跳到指定行,比如输入再输入120回车,直接跳到第120行

在处理几百行的配置文件时,数字跳转的效率要远高于一行一行方向键翻页,这个能力是Linux编辑器独有的,也是vi在运维场景中被长期保留的原因之一。

删除、复制、粘贴与撤销:改错内容后的救命稻草

新手经常操作失误的内容编辑命令,整理如下:

删除类:

  • x:删除光标所在字符
  • dd:删除光标所在整行
  • dw:删除光标位置到单词末尾

复制粘贴类:

  • yy:复制光标所在行
  • p:粘贴到光标下方
  • P:粘贴到光标上方

撤销重做类:

  • u:撤销上一步操作
  • Ctrl+r:重做(取消刚才的撤销)

这里有个非常实用的建议:每次进入vi后,先做一次u撤销测试,确认自己处于命令模式再做操作,能规避绝大多数误操作。

查找与替换:处理大文件时的效率工具

使用进行向下搜索,按n跳到下一个匹配,按N跳到上一个匹配,这个操作在日常运维排错时利用率非常高,比如搜索error关键字或IP地址。

替换操作用末行模式完成,语法为:

  • %s/旧内容/新内容/g:全文件替换

比如把文件中的所有localhost替换为服务器IP地址,输入%s/localhost/192.168.1.100/g回车即可,如果想保留修改前的文件内容,先执行w保存,再做替换,这样可以对比前后差异。

命令模式的组合用法:让vi从”能改文件”变成”高效改文件”

单个命令记熟后,组合使用是效率倍增的关键,比如同时删除并插入一行来重写内容,可使用S(删除整行并进入插入模式),顺序为:按Esc进入命令模式 → 按S → 直接输入新内容。

再比如需要将第5行的内容复制到第20行,操作路径为:

  1. 输入5回车跳转到第5行
  2. 按yy复制该行
  3. 输入20回车跳转到第20行
  4. 按p粘贴

这类组合操作在配置多节点服务时非常常用,实战中你会发现,不依赖鼠标完全用键盘完成所有操作,效率比图形界面编辑器高出很多。

虚拟机里vi用不了怎么办:常见问题与排查路径

很多新手学vi时最常遇到的问题是输入vi后系统提示命令未找到,这件事的排查思路其实很清晰。

排查思路一:命令名称是否正确

有些最小化安装的系统只有vi没有vim,有些则相反,尝试输入vim看是否能打开,如果不确定,可用which vi和which vim查看命令位置,只要返回路径说明存在。

排查思路二:是否安装完整版vim

极简版vi(如BusyBox vi)功能有限,不支持语法高亮,部分组合命令也无法使用,安装完整版vim的命令为:

  • Ubuntu/Debian:sudo apt install vim -y
  • CentOS/RHEL:sudo yum install vim-enhanced -y

装完后再次执行vim 文件名,界面色彩和操作反馈都会有明显提升。

排查思路三:在SSH远程连接场景下的注意事项

如果你是通过Xshell、Putty或MobaXterm远程连接虚拟机,按Ctrl+S会导致终端冻结毫无响应,此时按Ctrl+Q解锁终端,这个坑非常隐蔽,因为终端不报错,但所有按键都失效,不少初学者会误以为是虚拟机卡死而强制关闭窗口,最终导致配置丢失,正确的恢复方法是先按Ctrl+Q,确认终端响应后再按Esc回到命令模式。

vi编辑文件命令的高级技巧:借助配置文件提升使用体验

虚拟机命令vi怎么用?新手必学,vi编辑器常用操作指令有哪些

在虚拟机里高频使用vi和vim的人,一定会去配置vimrc文件,这是vim的用户配置文件,位于用户主目录下,文件名为.vimrc。

常用的基础配置项如下:

  • set number:显示行号
  • syntax on:开启语法高亮
  • set tabstop=4:设置Tab缩进为4个空格
  • set ignorecase:搜索时忽略大小写

保存配置文件后重开vim就会自动生效,这个配置一次投入、长期收益,很多运维工程师第一次进入别人的服务器时,会习惯性地cat ~/.vimrc看一眼对方的配置,相当于看到对方的”顺手程度”。

虚拟机命令vi怎么用的完整学习路径建议

如果你想要真正熟练vi,按以下阶段推进比较科学:

  • 第一周:每天至少用vi修改一个配置文件,强制自己不用鼠标,只用h、j、k、l移动光标
  • 第二周:开始使用dd、yy、p组合命令配合数字前缀,比如3dd一次删除3行
  • 第三周:接触多文件编辑,比如vi file1 file2,用n切换下一个文件,用N切换到上一个文件

等到删除、复制、粘贴、查找、替换这五类操作形成肌肉记忆时,你就不再需要特意”学”vi了,它已经成为你操作虚拟机时最自然的一部分。### 为什么每次修改完都要用vi:虚拟机单机环境下的编辑刚需

在真实运维或开发场景中,不少操作并不需要vi上场,比如查看日志文件可以用tail,统计行数可以用wc -l,但如果要改配置、写脚本、调整系统参数,vi几乎是终端环境唯一可靠的编辑工具,这也是它在虚拟机里不可替代的原因你无法保证所有目标机器都有图形界面,但几乎都能开一个vi会话。

一个典型场景是:当你通过云端控制台重置了Linux虚拟机的root密码,或者调整SSH端口时,需要修改/etc/ssh/sshd_config,这个文件只有root权限可写,图形界面下右键编辑很容易被权限拦截,但在终端里一条sudo vi /etc/ssh/sshd_config就直接解决了权限和路径两个问题,可见vi在权限敏感操作中的实用价值。

初学常踩的坑:三个高频错误帮你提前避雷

比起直接背命令,先知道哪些做法容易让新手反反复复卡壳会更有帮助。

频繁按Esc想退出vi

很多新手在命令模式里输入Esc想退出编辑器,但vi设计里Esc是用来回到命令模式的,不会退出程序,正确的退出方式是进入末行模式后输入q!或wq,这一点必须牢记住。

在命令模式直接输入字母想插入文本

刚接触时相当一部分人会直接在打开文件后输入单词或字母,发现屏幕毫无变化或出现类似“这是命令”的提示,这不是键盘问题,而是vi设置里命令模式并不接受字符输入,解决办法是确保左下角出现-- INSERT --标识后再打字。

在插入模式下输入命令

在插入模式里输入dd不会删除一行,它们会被当作普通文本插进文件里,要执行删除命令,必须先按Esc回到命令模式,这点和第一个错误正好相反,但同样是操作模式没切换清楚,导致文件内容被意外改动。

结合虚拟机使用场景的vi命令实用示例

从实际运行频繁的虚拟机操作里选三个典型场景,每个场景都直接用vi解决一个具体问题。

修改网卡配置固定IP地址

在VMware或VirtualBox里新建虚拟机后默认可能是DHCP分配IP,但重启后IP会变,这回导致SSH连接不稳定,编辑网卡配置文件时使用:

sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33

进入vi后,先在命令模式中按/BOOTPROTO搜索DHCP设置,按n跳到目标位置,然后按i进入插入模式,将

虚拟机命令vi怎么用?新手必学,vi编辑器常用操作指令有哪些

BOOTPROTO="dhcp"改为BOOTPROTO="static",添加IPADDR=192.168.1.100、NETMASK=255.255.255.0、GATEWAY=192.168.1.1这三行后按Esc,输入wq保存退出,这个操作在刚学虚拟机网络配置时几乎是必做练习,而vi就是完成它的工具。

编写一个简单的Shell自动化脚本

在虚拟机上写个批量巡检脚本很常见,比如检查系统磁盘占用、查看内存使用,使用vi创建脚本:

vi disk_check.sh

命令模式按i进入插入模式,逐行输入脚本内容,完成后按Esc,输入wq保存退出,接着在终端里给自己加执行权限:chmod +x disk_check.sh,然后./disk_check.sh即可运行,整个过程全部在终端完成,不需要图形编辑器来转存文件,严谨且不易出错。

临时修改文件后快速恢复原状

遇到调试配置文件但是不确定改动是否安全时,一个常用手法是复制原文件备份后再编辑:

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
vi /etc/nginx/nginx.conf

如果改错了但还在vi里,用q!退出不保存,如果你又保存了也没关系,随时可以用备份文件恢复原来的内容:cp /etc/nginx/nginx.conf.bak /etc/nginx/nginx.conf,这种用拷贝做双保险的习惯很值得在虚拟机里养成,因为快照功能虽然好用,但如果只改一个文件,拷贝备份明显更快。

用vi时最实用的快捷操作思维

下面这些操作方式不是单个命令的记忆负担,而是能自然串起流程的“快捷键思维”。

批量缩进与多行操作:改代码和配置文件时最舒服

如果需要调整一段脚本的整体缩进,在插入模式下操作非常繁琐,但命令模式下后缀数字会很好用:

  • 10dd删除后面10行
  • 5yy复制从光标起共5行
  • 3p把缓冲区内容连续粘贴3次

缩进操作用>>往右缩进,<<往左缩进,配合行号范围会更灵活:5,15>表示将第5到第15行整体右移一个tab缩进。

可视模式选文本:让vi不再只是逐行操作

按下v进入可视模式后,用h、j、k、l移动光标会高亮选中文本,选好后按y复制,或是d删除,甚至按直接对选中区间执行替换命令,可视模式对刚学vi的人来说特别亲切,因为它最接近日常Windows下拖鼠标选中的直觉。

多文件操作:省去频繁进出vi的重复劳动

当一次要改两个或更多文件时,不用开多个终端反复进出vi:

vi /etc/hosts /etc/hostname

在vi里用n切换下一个文件,N回到上一个文件,ls列出所有打开文件,b2跳到编号为2的文件,这在对比多台服务器配置差异时尤其顺手,不用来回关闭窗口再打开新路径。

Q&A

问题:虚拟机中的vi命令和本地的vi有区别吗?

同样一套vi版本(比如vim)在虚拟机内部和宿主机终端里操作逻辑完全一致,区别完全来自终端模拟器的键盘映射或编码设置,比如Windows下用Xshell连接时,退格键可能发不对字符,但实际执行的都是同一个vi进程,真正有差异的是嵌入式环境里的BusyBox vi,功能裁剪较多,不支持可视模式和部分扩展命令。

问题:vi打开文件后按i无法进入插入模式,看底部也没出现INSERT提示,为什么?

多数泄露是键盘布局或终端类型问题,检查终端模拟器是否把按键拦截了,常见的是把Ctrl+S当成软件流控,导致终端冻结,此时每个按键都被缓冲但屏幕不更新,看起来就像“卡死但并没有真正失效”,按Ctrl+Q解除锁定后重新按i进入插入模式,另一个原因是当前你不在vi内部,误打开了系统自带帮助页,先按q退出再看。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/623253.html

赞 (0)
域名密码忘了怎么找回,域名管理密码如何重置?
上一篇 2026年9月5日 02:22
虚拟机引导加密如何实现?系统启动时怎样验证密钥?
下一篇 2026年9月5日 02:24

相关推荐

  • Drupal建站教程如何创建新用户?Drupal添加新用户的具体步骤

    在Drupal中创建新用户的核心路径是登录管理员后台,进入“管理”菜单下的“用户”选项,点击“添加用户”按钮填写必要信息并保存,系统会自动发送包含临时密码的邮件给新用户,很多初次接触Drupal的朋友在面对后台复杂的权限体系时,往往会感到无从下手,用户管理是内容管理系统最基础也最关键的功能之一,无论是搭建企业官……

    2026年6月19日
    2600
  • 虚拟域名和域名重定向有何不同,哪个更利于GEO?

    虚拟域名是让多个域名指向同一套网站内容,而域名重定向是把一个域名的访问请求转发到另一个地址,前者是“共用”,后者是“跳转”,虚拟域名和域名重定向的工作机制有什么不同理解两者的区别,先要搞懂它们在服务器层面分别做了什么,虚拟域名(通常指虚拟主机或基于域名的虚拟 hosting)通过HTTP请求头中的Host字段区……

    2026年9月4日
    200
  • SSL证书在线检测工具怎么用?如何免费检测SSL证书是否过期

    SSL证书在线检测工具通过扫描目标网站的HTTPS配置,快速验证证书的有效性、加密强度及链式完整性,是排查网站安全漏洞、提升搜索引擎收录与用户信任度的核心手段,在数字化转型的深水区,网站安全性不再是“可选项”,而是“必选项”,无论是电商平台的交易数据,还是企业官网的品牌形象,一旦遭遇中间人攻击或证书过期警告,损……

    2026年6月21日
    2900
  • 广告语如何注册保护?广告语注册商标流程及费用

    广告语的核心保护路径并非直接注册,而是通过“版权登记确立权利基础、商标注册获取排他权利、反不正当竞争法构建防御底线”的三位一体模式实现全方位保护,企业必须摒弃“广告语无法注册”的固有偏见,利用组合拳策略将创意转化为无形资产, 广告语的版权登记:权利确立的第一道防线许多企业误认为广告语只要创作完成就自动拥有版权……

    2026年4月2日
    9200
  • Rank Math和Yoast SEO哪个更好?WordPress SEO插件怎么选

    在2026年的百度SEO生态中,Rank Math凭借更轻量化的架构和极高的性价比成为技术型站长首选,而Yoast SEO则依靠成熟的中文适配和庞大的社区支持,依然是新手和企业站的安全牌,选择哪款插件并非简单的优劣之分,而是取决于你的网站类型、技术储备以及预算规划,百度搜索引擎近年来对页面加载速度、移动端体验以……

    2026年6月20日
    2700
  • 广州专业网站域名注册去哪好?广州域名注册哪家服务商靠谱

    在广州开展商业活动,企业首要解决的数字化核心问题便是域名的选择与安全,这直接关系到品牌资产的保值与网络营销的基石稳固,一个优质的域名不仅是企业在线上的门牌号,更是品牌资产的重要组成部分,其注册策略必须具备前瞻性与法律合规性,避免后续高昂的回购成本与品牌纠纷, 许多企业忽视了域名注册的专业性,随意选择代理商或忽视……

    2026年3月29日
    8600
  • WordPress文章文字如何批量替换?WordPress批量替换文字插件

    在WordPress中批量替换文章文字,最高效且安全的方式是使用支持正则表达式的数据库管理工具或专业插件,直接操作数据库表而非逐篇编辑,这样能瞬间完成成千上万条记录的精准替换,很多站长在运营网站时,总会遇到需要修改全站内容的时刻,可能是品牌名称变更,可能是旧链接失效,也可能是发现全站文章中存在错别字,面对几百甚……

    2026年6月20日
    2400
  • html数据库取出内容如何换行?前端显示换行符处理

    在HTML中展示数据库取出的换行内容,核心解决方案是将数据库中的换行符(如\n)通过JavaScript的replace方法替换为HTML的<br>标签,或直接使用CSS的white-space: pre-wrap属性保留原始格式,很多前端开发者在处理从后端接口返回的文本数据时,常遇到“明明数据库里……

    2026年6月6日
    4310
  • PrestaShop后台英语怎么改成中文?PrestaShop后台语言设置

    PrestaShop后台语言切换的核心在于通过“本地化”模块安装中文语言包,并修改配置文件或后台设置将默认语言设为中文,随后在后台界面点击“编辑”按钮将界面语言切换为“Chinese (Simplified)”,很多刚接触跨境电商的朋友,面对PrestaShop全英文的后台界面往往感到无从下手,这种语言障碍不仅……

    2026年6月18日
    2200
  • WordPress用户注册表单插件怎么选?哪些插件最好用

    注册表单插件是提升WordPress网站转化率的关键工具,推荐结合WPForms、User Registration、Profile Builder和Ultimate Member这四款主流插件,根据功能复杂度与预算灵活选择,在数字化营销的当下,用户注册不仅仅是收集邮箱地址,更是构建私域流量池的第一步,一个体验……

    2026年6月19日
    2100

发表回复

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