vim 的基础操作
在服务器上改配置,vim 是最通用也最可靠的编辑器,各发行版几乎都预装。它的学习成本主要来自模式:进入文件后处在命令模式,此时按键是命令而不是输入文字,要按 i 或 a 之类的键进入编辑模式才能打字,编辑完按 Esc 回到命令模式再执行保存退出等操作。掌握模式切换、保存退出、查找替换、跳转行号这四件事,就能应付绝大多数配置文件修改场景。
基本信息
| 模式切换 | 进入编辑用 i、a、o,回到命令模式用 Esc |
|---|---|
| 保存退出 | :w 保存、:wq 保存退出、:q! 放弃修改退出 |
| 查找替换 | / 向下查找,:%s/旧/新/g 全文替换 |
| 行号跳转 | :set nu 显示行号,:数字 跳到指定行 |
| 撤销重做 | u 撤销,Ctrl+r 重做 |
| 无需安装 | 各发行版普遍预装,最小化安装通常也有 |
典型使用场景
- 修改系统配置:直接在服务器上编辑配置文件并保存
- 查找替换批量改动:把某个参数在全文范围内统一替换
- 定位报错行:按日志或报错里给出的行号直接跳过去
- 只读查看:以防误改的方式打开大文件,避免手滑保存
- 比较修改结果:退出前用差异工具确认改了什么
- 审计留痕:改前先备份原文件,改后核对差异
典型操作
典型操作
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak # 改前先备份
vim /etc/ssh/sshd_config
# 进入后按 i 编辑,Esc 回到命令模式
# :set nu 显示行号
# :42 跳到第 42 行
# :%s/old/new/g 全文替换 old 为 new
# :wq 保存退出
# :q! 放弃修改退出常用命令读法
| 命令 | 作用 | 使用提示 |
|---|---|---|
| i / a / o | 进入编辑模式 | 分别是在光标前、后、下一行插入 |
| Esc | 回到命令模式 | 不确定当前模式时先按它 |
| :w | 保存 | 权限不足时保存会失败 |
| :q! | 放弃修改退出 | 有改动时用它避免误存 |
| :set nu | 显示行号 | 定位报错行时非常有用 |
| /关键字 | 向下查找 | 按 n 跳到下一个匹配 |
| :%s/旧/新/g | 全文替换 | 建议先用查找确认命中范围 |
| u | 撤销 | 仅对本次会话有效 |
终端里出现按键无响应的情况,多半不是死机:终端的流控快捷键被误触,用对应的解除组合键即可恢复。这类误解在远程排障时很耽误时间,先排除这个原因再考虑会话确实卡住。
编辑系统配置前先复制一份备份:编辑器的撤销只对本次会话有效,退出后就无法恢复。保存前用差异比对确认改动范围,避免把无关内容一起改掉。