
Linux 基础实战课 ⑤
被 vim 困住半小时,最后靠拔电源解决的
Linux基础 实战课
Linux 基础实战课 · 第 5 篇
————————————————
💬 大二那年第一次在机房用 Linux,老师让用 vim 编辑一个配置文件。我敲了 vim hello.txt,然后——就卡住了。
光标在闪,但敲什么都没反应。我试了方向键、回车、Backspace、Ctrl+C,全都没用。最后实在没办法,直接关了终端窗口重开——这就是我的第一次 vim 经历。后来才知道,我只是不会退出而已。
如果你也经历过「进了 vim 不知道怎么出来」的恐惧,这篇文章就是为你准备的。不讲花里胡哨的插件,只讲够用的:怎么进来、怎么改东西、怎么保存退出——能改配置文件就够了。
————————————————
一、vim 是什么,为什么必须学
vim 是 Linux 系统自带的文本编辑器,几乎每台服务器都有。它的前身叫 vi,vim 是「Vi Improved」的缩写。
为什么要学?因为 Linux 服务器上改配置文件——比如 Nginx 配置、crontab 定时任务、SSH 配置——默认就是用 vim 打开的。你不会,就改不了任何东西。
💡 我第一次用 Linux 的时候,发现连「右键→打开方式→记事本」都没有,整个世界观崩塌了一下午。后来才接受现实:服务器上只有 vim,不会也得会。
二、三个模式:理解 vim 的核心逻辑
vim 最反直觉的地方是它有「模式」,你的键盘在不同模式下行为完全不一样。记住这三个:
模式 | 怎么进入 | 能做什么 |
普通模式 | Esc | 移动光标、复制粘贴、删除 |
插入模式 | 按 i / a / o | 跟记事本一样,正常打字 |
命令模式 | 按 : | 保存、退出、搜索 |
关键来了——vim 启动后默认在普通模式,不能打字。必须先按 i 进入插入模式,才能正常输入。这就是新手「敲什么都没反应」的原因。
⚠️ 如果不知道自己在什么模式,拍一下 Esc 键。Esc 是 vim 里的「回家键」——按了它回到普通模式,一切重来。
三、最核心的 8 个操作
下面这 8 个操作覆盖了改配置文件 90% 的场景,一个都不多——基础救急版:
💡 :q! 是我用得最多的命令——改了半天发现改错了,直接不保存退出,重新来过。这个命令不值钱但实用度拉满。
四、在文件里移动:不用鼠标怎么跳
vim 正常模式下可以用键盘移动光标,不需要鼠标。我刚开始特别不习惯,但后来发现编辑配置文件就几行,其实不需要太复杂的移动。记住这三组就够了:
按键 | 作用 |
h / j / k / l | 左 / 下 / 上 / 右(替代方向键) |
gg | 跳到文件开头 |
G | 跳到文件末尾 |
0 | 跳到行首 |
$ | 跳到行尾 |
Ctrl + f | 向下翻一页 |
Ctrl + b | 向上翻一页 |
💡 说实话,我到现在也不怎么用 hjkl——我习惯直接按方向键。在大多数新版 vim 里方向键是完全能用的,别被网上「必须用 hjkl」的说法吓到。
五、复制粘贴和删除,比想象中简单
这组操作在实际改配置时用得非常多,比如要删掉整段注释或者搬一段配置到别的位置:
操作 | 命令 | 说明 |
删除一行 | dd | 删掉当前整行 |
删除 3 行 | 3dd | 删掉当前行往下共 3 行 |
复制一行 | yy | 复制当前整行到剪贴板 |
粘贴 | p | 在光标后粘贴 |
删除光标后内容 | dw | 删掉一个词 |
撤销 | u | Ctrl+Z 的 vim 版本 |
重做 | Ctrl + r | 取消撤销 |
⚠️ 注意:dd 删掉的内容是直接消失,不像 Windows 那样在回收站。不过按 u 可以撤销,所以也不用太慌。
六、搜索和替换:改配置文件的神器
打开一个上百行的配置文件,想找到某个配置项在哪,一个一个翻就太慢了:
/keyword | 在文件中向下搜索 keyword,按 n 跳下一个 |
替换也很常用。比如要把配置文件里所有的 80 端口改成 8080:
:%s/80/8080/g | 把全文的 80 替换成 8080 |
:%s/old/new/gc | 逐个确认是否替换(加 c 参数,安全) |
💡 我在 VDI 项目里改 Nginx 配置经常用这个——把一台服务器的配置模板里的 IP 批量替换成另一台的,%s 一键完成,比手动改强百倍。
七、新手最容易踩的三个 vim 坑
以下全是真人真事,排名分先后:
坑一:按 Ctrl+S 想保存,结果终端卡死了。
Ctrl+S 在终端里是「暂停输出」,不是保存。不小心按到之后终端像死了一样——按 Ctrl+Q 就能恢复。vim 里保存是 :w,不是 Ctrl+S。
坑二:选了内容想复制,结果被 vim 自动缩进搞疯。
从别的地方复制代码到 vim,结果每行都多了一堆缩进,越贴越乱。解决办法是粘贴之前先按 :set paste,粘贴完再 :set nopaste。
坑三:改完配置保存不了,提示 read-only。
用普通用户打开了一个 root 才能改的文件,改了半天发现保存不了。解决办法::q! 退出,然后用 sudo vim xxx 重新打开,或者直接 :w !sudo tee %(强制以 root 写回原文件)。
八.vim 速查表(建议保存)
想做什么 | 命令 |
开始输入文字 | i |
保存 | :w |
退出 | :q |
保存并退出 | :wq |
不保存强制退出 | :q! |
删除一行 | dd |
复制一行 | yy |
粘贴 | p |
撤销 | u |
跳到文件开头 | gg |
跳到文件末尾 | G |
搜索关键字 | /keyword |
取消搜索高亮 | :noh |
全文替换 | :%s/old/new/g |
粘贴模式开关 | :set paste / :set nopaste |
总结
vim 不需要成为高手,能改配置文件就合格了。其实日常运维场景里,你只需要这五件事:
① 会用 i 进入编辑 ← 核心
② 会按 Esc 退出编辑 ← 救急
③ 会用 :wq 保存退出 ← 收尾
④ 会用 / 搜索内容 ← 找东西
⑤ 会用 :q! 放弃修改 ← 后悔药
其他的慢慢来,碰到不会的就查。vim 的门槛不在「学会」,而在「不害怕它」。
————————————————
下篇预告:《Linux 基础实战课⑥|systemctl 服务管理:启动、停止、开机自启》,装完的软件怎么管理。
💬 你第一次打开 vim 的时候,怎么退出去的?
评论区说说你的故事,看看有多少人跟你一样
👍 点赞💬 留言🔄 转发给需要的朋友
有问题欢迎评论区留言,看到都会回复