当前位置:首页>Linux>Linux 新人为什么总绕不开 Vim?先会这些就够了(上)

Linux 新人为什么总绕不开 Vim?先会这些就够了(上)

  • 2026-10-11 07:38:19
Linux 新人为什么总绕不开 Vim?先会这些就够了(上)
点击上方
蓝字
关注我们
后台经常有新手同学留言:

“我刚学 Linux,为什么一进服务器默认编辑器就是 Vim?”

“我只是想改个配置文件,结果连退出都搜了十分钟。”

“现在都有 VS Code 了,为什么运维还要学这个黑框框里的编辑器?”

这话我太懂了。

我刚接触 Linux 的时候,也觉得 Vim 像是专门用来劝退新人的东西。界面不友好,鼠标点不了,输入文字还要先按 i,退出还要敲命令。

但真正在服务器上摸爬滚打几年后,你会发现:Vim 不是情怀,也不是前辈故意折腾新人。

它更像一把随身小刀。

不一定最漂亮,但关键时刻一定能用。


一、你以为能逃过 Vim,服务器会把你拽回来

很多 Linux 新人一开始都会想:

我本地用 VS Code 写好,再传上服务器不就行了?

真要改文件,用 Nano 不行吗?

平时当然可以。

问题是,服务器现场经常不按你的理想环境来。

场景 1:最小化系统里,Nano 可能根本没装

你买了一台云服务器,选了最小化安装。

连上 SSH 后想改配置:

vi /etc/ssh/sshd_config

编辑器打开了。

你想换 Nano:

nano

结果系统提示:

-bash: nano: command not found

这并不稀奇。

很多最小化安装环境不会预装 Nano、Emacs、图形编辑器,但通常会保留一个 vi 或 vi 兼容编辑器。

注意这里说的是 vi 或 vi 兼容编辑器,不一定是完整版 Vim。

有的系统里 /usr/bin/vi 指向 Vim,有的可能是 vim-minimal、vim-tiny、nvi,甚至是 BusyBox 提供的简化版 vi。

所以我们真正要学的,不是“每台机器都有完整 Vim 插件生态”,而是:掌握 vi/Vim 系编辑器的基础操作。

场景 2:线上故障时,你没时间折腾远程开发

平时 VS Code Remote SSH 很好用。

我也承认,它写项目、看目录、跳转代码都舒服。

但线上排障不是写作业。

服务器负载高、网络抖、跳板机限制多、权限隔离严格,远程插件可能连不上,文件也不方便下载再上传。

这时你只需要改一行配置、注释一个参数、保存后重启服务。

最稳的办法往往就是:

sudo vi /etc/nginx/nginx.conf

不会 Vim,不是不能工作。

但在这种场景里,你会非常被动。

场景 3:救援环境里,图形工具通常指望不上

系统进不了正常模式、网络没起来、只能进 rescue shell。

这时不要指望完整开发环境。

甚至也不要假设一定有完整版 Vim。

更准确地说:救援环境里常见的是一个足够基础的 vi 或兼容编辑器。它可能功能很少,但只要你会基础移动、插入、保存退出,就能把关键配置改回来。

对运维来说,“最坏情况下还能用”,就是硬实力。

二、为什么偏偏是 vi/Vim?

这事要从历史和生态说起。

vi 是 Unix 时代就存在的经典文本编辑器,作者是 Bill Joy,诞生于 20 世纪 70 年代后期。

Vim 是 “Vi IMproved”,也就是 vi 的增强版,由 Bram Moolenaar 开发,早期在 1991 年发布。

Linux 不是“天生就指定 Vim 为唯一默认编辑器”。

更准确地说,Linux 发行版继承了 Unix 世界长期形成的习惯:服务器环境需要一个能在终端里工作的标准文本编辑器,而 vi 的操作方式、文档、脚本习惯和管理员经验已经沉淀了几十年。

这就是为什么很多教程会写:

vi /etc/xxx.conf

不是因为所有作者都爱 Vim。

而是因为它足够普遍,足够传统,足够适合终端环境。


三、Vim 难,不是因为命令多,而是因为它有“模式”

很多人第一次用 Vim 崩溃,是因为他以为打开后就能直接输入。

结果键盘敲半天,屏幕没有按预期写字。

这是因为 Vim 不是普通“打字板”。

它有模式。

最重要的两个是:

  • 正常模式:移动、删除、复制、搜索、执行命令
  • 插入模式:真正输入文字

打开文件后,默认在正常模式。

你想输入内容,要先按:

i

进入插入模式。

输入完了,按:

Esc

回到正常模式。

保存退出这类命令,也是在正常模式下输入:

:wq

新手只要把这个逻辑想明白,恐惧感会少一半。

Vim 的模式不是反人类,而是把“编辑文字”和“操作文字”分开。

你在插入模式里写字。

你在正常模式里移动、删除、复制、查找、替换。

四、新人先会这 12 个操作,就能活下来

不要一上来背一百个快捷键。

入门阶段只要掌握“能打开、能改、能保存、能退出、能找内容”,就够用了。

1. 打开文件

vim 文件名

如果系统没有 vim,可以试:

vi 文件名

很多发行版会让 vi 指向 Vim 或 vi 兼容版本。

2. 进入插入模式

i

在当前光标前进入插入模式。

你也可以用:

a

在当前光标后进入插入模式。

新手先记 i 就行。

3. 回到正常模式

Esc

大多数时候,只要你不知道自己在哪个模式,先按 Esc。

严格说,Vim 还有可视模式、命令行模式等,Esc 在不同场景下的行为略有差异。

但对新手来说,“迷路先 Esc”仍然是最实用的经验。

4. 保存并退出

:wq

w 是 write,写入保存。

q 是 quit,退出。

5. 不保存强制退出

:q!

改乱了、不想保存,用它。

这条命令值得背到肌肉记忆里。

6. 只保存不退出

:w

适合改配置改到一半,先落盘保存。

7. 只退出

:q

如果文件没改动,可以直接退出。

如果改过内容,Vim 会提示你不能直接退出。

8. 光标移动

方向键通常也能用。

但建议记住这四个:

h 左j 下k 上l 右

为什么要记?

因为某些远程终端、极简环境、键盘映射异常时,方向键可能不顺手。

hjkl 是 vi/Vim 的基础移动方式。

9. 跳到文件开头和结尾

gg

跳到第一行。

G

跳到最后一行。

10. 跳到指定行

:123

直接跳到第 123 行。

排查报错时特别常用。

11. 删除、复制、粘贴

x

删除光标所在字符。

dd

删除当前行。

注意:dd 不只是删除,也会把这一行放进默认寄存器,所以后面可以粘贴回来。

yy

复制当前行。

p

粘贴。

如果复制的是整行,p 会粘贴到当前行下面;如果复制的是普通字符内容,p 会放到光标后面。

12. 搜索

/关键字

回车后跳到匹配位置。

继续找下一个:

n

反方向找:

N

对于 /关键字 这种向下搜索,n 通常就是下一个,N 是上一个。

五、再补一个救命键:撤销

如果只能再多记一个命令,我建议记它:

u

撤销上一步修改。

配置文件改坏了,先别慌。

按 Esc 回正常模式,再按 u。

很多新手怕 Vim,是因为觉得“改错了就完了”。

其实 Vim 的撤销能力很强。

先会 u,你就敢动手了。


六、上篇小结:别急着精通,先做到不怕

Linux 新人学 Vim,第一目标不是炫技。

不是配置漂亮主题。

不是装一堆插件。

第一目标只有一个:

在服务器上遇到配置文件时,你能打开、能修改、能保存、能安全退出。

记住这条路线:

  1. 打开:vi 文件名 或 vim 文件名
  2. 输入:i
  3. 回正常模式:Esc
  4. 保存退出::wq
  5. 不保存退出::q!
  6. 搜索:/关键字
  7. 撤销:u

会这些,你就已经能处理很多真实服务器场景了。

下篇我们继续讲:为什么 Vim 用熟了真的快,以及新人最容易踩的几个坑,比如批量替换、权限不足、粘贴缩进乱掉、交换文件提示到底该不该删。

END

往期推荐

为什么 Linux 没有 .exe?一文讲懂 Linux 到底怎么运行程序

为什么 Linux 要用“挂载”?而不是直接显示 C 盘、D 盘?

一文搞懂Linux磁盘结构与管理:物理磁盘、分区表、文件系统全梳理

Linux 系统中的用户、用户组以及权限管理:从入门到搞懂,其实没那么绕

为什么 Linux 的目录这么奇怪?终于有人讲明白了

重新理解 Linux 网络(一):IP 地址不是机器的门牌号

重新理解 Linux 网络(二):IP 配好了,为什么还是不通?

为什么运维都要学 Shell?终于有人讲明白了

最新文章

随机文章