ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

在 School of SRE 中掌握 Vim:SRE 在服务器上编辑配置与脚本的必备编辑器技能

2026/9/27 21:08:39 拓冰建站 浏览量
在 School of SRE 中掌握 Vim:SRE 在服务器上编辑配置与脚本的必备编辑器技能 教程【免费下载链接】school-of-sreAt LinkedIn, we are using this curriculum for onboarding our entry-level talents into the SRE role.项目地址https://gitcode.com/gh_mirrors/sc/school-of-sre点击查看免费下载Vim 是几乎所有 Linux 发行版中都预装的开源命令行文本编辑器也是 SRE 登录服务器后修改配置、编辑脚本时最顺手可用的工具之一。本文是 School of SRE 课程 Linux-Intermediate 阶段《Introduction to Vim》的完整指南围绕「打开文件、进入插入模式、保存文件、退出编辑器」这一条最核心的操作主线展开并结合后续 Bash 脚本编写 的实战需求帮助读者在学完本节后能立刻在真实服务器上创建和编辑文件为下一节的脚本编写打下基础。为什么 SRE 必须先掌握 Vim作为 SRE日常工作中经常需要登录到服务器上修改应用或系统的配置文件编辑、排错和修改运维脚本在无法使用图形界面无 GUI 的服务器、容器、跳板机环境的情况下完成文件操作。在这些场景里Vim 是「开箱即用」的选择它开源、免费、几乎存在于所有 Linux 发行版中且不依赖图形界面。本课程 Linux-Intermediate 课程入口 明确指出课程环境基于 RedHat Enterprise LinuxRHEL8 的 Docker 容器并以前置课程 Linux 基础 为背景——在这样的纯命令行环境里Vim 就是最主要的文本编辑手段。更重要的是Vim 是本节与下一节之间的关键衔接在 Bash 脚本编写 中作者明确表示整个脚本编写过程都将使用 Vim 作为编辑器。也就是说本节的i、ESC、:w、:q等操作会直接用于后续编写firstscript.sh、backup.sh等真实脚本。掌握本节内容是进入脚本编写的前置条件。Vim 的模式模型先理解「为什么输入不了文字」Vim 与普通编辑器最大的不同在于它是一个模式化编辑器modal editor。绝大多数新手第一次打开 Vim 后立刻输入文字却发现没有任何反应原因就在于 Vim 启动后默认处于普通模式Normal mode此时键盘按键被解释为编辑命令如移动光标、删除字符而不是向文件输入文本。与本文直接相关的三种模式如下模式进入方式作用普通模式Normal modeVim 启动后的默认模式在插入模式中按ESC返回执行移动、删除、复制、粘贴等编辑命令插入模式Insert mode普通模式下按i直接向文件输入文字命令行模式Command-line mode普通模式下按:冒号Shift;输入w、q、wq等 Ex 命令并回车执行理解了「普通模式负责命令、插入模式负责输入」这一核心心智模型剩下的就是记住几个最简单的切换键。打开文件并进入插入模式1. 用vim filename打开文件在终端执行vim filenamefilename可以是已存在的文件也可以是不存在的新文件名。若文件已存在Vim 会将其内容读入缓冲区并显示若文件不存在Vim 会打开一个空缓冲区保存时才会真正创建文件。打开后你会发现直接敲键盘写文字是不生效的——因为此时仍处于普通模式界面底部左侧没有任何模式指示。这正是无数新手「卡住」的第一道门槛。2. 按i进入插入模式在普通模式下按字母iinsert 的缩写Vim 会切换进入插入模式。此时屏幕左下角会出现-- INSERT --的提示见上文第一张截图表示你现在可以正常向文件输入内容了。3. 按ESC返回普通模式输入完成后按键盘左上角的ESC键退出插入模式回到普通模式左下角的-- INSERT --提示随之消失。除了iVim 还提供了多个进入插入模式的变体在编辑配置文件时非常实用按键效果i在当前光标所在字符之前插入a在当前光标所在字符之后插入appendA在当前行末尾追加o在当前行下方新建一行并插入O在当前行上方新建一行并插入SRE 在给配置文件追加新的参数行、或在行尾补充注释时A与o的利用率极高。保存文件:w在插入模式中输入完内容后按ESC回到普通模式然后按:冒号即Shift;进入命令行模式输入wwrite 的缩写最后回车执行文本就会被写入文件。完整操作序列为i → 进入插入模式输入内容 ESC → 返回普通模式 :w → 进入命令行模式写入保存 回车 → 执行保存:会出现在终端界面左下角见上文第二张截图提示当前已进入命令行模式。保存成功后Vim 会在底部状态栏提示写入的文件名与行数/字符数等信息。退出 Vim:q、:wq、:q!退出 Vim 对初学者而言往往是最大的挑战——因为它不像普通编辑器那样有明确的「关闭按钮」。退出的关键同样在于先按ESC回到普通模式再按:进入命令行模式然后根据需求选择不同的退出命令。下表完整列出本文档给出的三种退出方式Vim 命令说明:q退出文件quit。若文件存在未保存的修改Vim拒绝退出并给出提示避免误丢数据:wq先写入保存再退出文件相当于:w:q的合并操作:q!不保存任何修改强制退出!表示强制用于放弃未保存的改动组合起来看一条非常实用的操作链是修改后想保存并退出ESC→:wq→ 回车修改后发现改错了、想放弃并退出ESC→:q!→ 回车只想快速看看文件后退出ESC→:q→ 回车。!感叹号是 Vim 中表示「强制执行」的修饰符q!可以跳过「有未保存修改」的保护检查直接放弃退出。理解这一点后w、q、!三个符号的组合逻辑就一目了然了。面向 SRE 场景的常用 Vim 速查进阶补充本节是入门内容的自然延伸用于满足「登录服务器修改配置、编辑脚本」时最常见的操作需求。以下命令均在普通模式下使用进入插入模式的按键除外操作需求按键/命令说明移动光标h/j/k/l左 / 下 / 上 / 右移动光标删除光标所在字符x相当于普通编辑器的 Delete删除当前行dd删除整行适合清理脚本中的废弃配置撤销上一步操作u误删后立即恢复查找文本/keyword后回车在文件中搜索关键字n跳转到下一个匹配跳到文件末尾G查看长日志或长配置时常用跳到指定行:行号后回车例如:42直接跳到第 42 行显示/取消行号:set number/:set nonumber排查脚本报错行号时非常实用这些命令并不要求一次性记住建议在练习中按需查阅、逐步内化。对于想要快速练习的读者可以直接回到本仓库 Linux 基础 与 Bash 脚本编写 中的真实示例文件反复演练。实战衔接在下一节用 Vim 编写你的第一个脚本本节的 Vim 技能将在下一节 Bash 脚本编写 中立即投入使用。届时标准的操作流程是用vim firstscript.sh打开或创建脚本文件按i进入插入模式输入脚本内容例如#!/bin/bash、注释和echo Hello world!按ESC返回普通模式输入:wq保存并退出在终端用chmod x firstscript.sh赋予可执行权限再通过显式路径运行脚本查看输出。可以看到本节学到的i、ESC、:w、:wq正是脚本编写全流程的地基。建议按「打开文件 → 输入内容 → 保存 → 退出」的顺序在 RHEL 8 容器中完整走通几遍形成肌肉记忆熟练掌握这几个基础命令后再逐步扩展到移动、删除、查找等进阶操作最终做到在服务器上「零障碍」地完成任何文件编辑任务。赞分享教程【免费下载链接】school-of-sreAt LinkedIn, we are using this curriculum for onboarding our entry-level talents into the SRE role.项目地址https://gitcode.com/gh_mirrors/sc/school-of-sre点击查看免费下载相关推荐5个必备技巧彻底掌握CudaText跨平台编辑器5个必备技巧彻底掌握CudaText跨平台编辑器 CudaText是一款功能强大的跨平台文本编辑器采用Free Pascal编写基于Lazarus开发环境代码编辑器开发工具桌面应用Puck离线编辑功能PWA技术在编辑器中的应用Puck离线编辑功能PWA技术在编辑器中的应用 你是否遇到过这样的场景在没有网络连接的情况下急需编辑React页面内容却无法操作PuckThe vis前端低代码UI组件Requestly代码编辑器集成在VSCode中直接编辑API配置Requestly代码编辑器集成在VSCode中直接编辑API配置 Requestly作为前端开发者和QA工程师最流行的调试工具提供了强大的代码编辑器集成功文档开发工具接口测试上一篇【亲测免费】 探秘CloudBeaver一个强大的云端数据库管理工具下一篇Konstellate免费开源的Kubernetes应用可视化工具让复杂部署变得简单直观创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考