绕不开的场景
凌晨三点服务器配置文件写错,服务起不来——此时你只有 SSH 终端,nano 不一定装了,vim 一定有(几乎所有发行版内置)。会 vim 不是情怀,是保命技能:改一行配置、看一眼日志、加一条 crontab,都绕不开它。好消息:日常运维需要的 vim 只是它的零头。
模式思维:先理解再记忆
vim 的门槛全在一个设计:默认进的是普通模式——键盘不是用来打字的,是用来下指令的。按 i 进入插入模式才能打字,Esc 回到普通模式,: 进入命令模式执行保存退出。新手所有的“vim 出不去了”,都是忘了按 Esc。
┌─────────────── i / a / o ────────────────┐
│ ▼
普通模式 ◄──── Esc ──── 插入模式(正常打字)
│ ▲
│ └── Esc ── 命令模式( : 开头)
▼
:w 保存 :q 退出 :wq 保存退出 :q! 不保存强退 :wq! 只读文件也强写十个救命键
| 键 | 作用(普通模式下) | 使用频率 |
|---|---|---|
| i / o | 光标前插入 / 下一行新开一行 | 最高 |
| Esc | 回到普通模式 | 最高 |
| dd / 5dd | 删除(剪切)一行 / 五行 | 高 |
| yy / p | 复制一行 / 粘贴 | 高 |
| u / Ctrl+r | 撤销 / 重做 | 高(后悔药) |
| /keyword | 向下搜索,n 下一个,N 上一个 | 高(看日志神器) |
| gg / G | 跳到文件开头 / 结尾 | 高 |
三个替换命令:批量改配置全靠它们
:s/old/new/ 当前行第一个 old 换成 new
:s/old/new/g 当前行所有 old 换成 new
:%s/old/new/g 全文替换(最常用)
:%s/8080/9090/g 把端口全文从 8080 改成 9090
// 批量注释五行(可视块模式,运维刚需):
// Ctrl+v 选中行首一列 → 大写 I 输入 # → Esc 两下,五行同时加上 #
// 打开大文件只看不改:
$ vim +100 big.log 直接跳到第 100 行起步 .vimrc 三行
set number 显示行号(报错日志对照行号必备)
syntax on 语法高亮
set hlsearch 搜索高亮
// 写进 ~/.vimrc 全局生效;临时文件的乱缩进问题交给 :set paste 插入模式到此地基篇结束:目录、文件、编辑器都齐了。下一篇开始本系列的精华段落——文本处理三剑客,第一剑:grep,文本查找的艺术。
评论 (0)