五分钟上手 Vim 运维老鸟的必备编辑技巧

为什么运维老鸟离不开 Vim?

真实场景:

当你通过SSH连接到一台没有GUI的服务器,面对一个2GB的日志文件时:

图形化工具卡死Nano功能太弱唯有Vim能快速定位问题

Vim 的不可替代性:

轻量高效:无需安装插件即可处理大文件纯键盘操作:手不离键盘,效率翻倍无处不在:预装在所有Linux/Unix系统中

五分钟掌握 Vim 生存技能

(1) 模式切换(生存底线)

复制i # 进入编辑模式(Insert Mode) ESC # 返回普通模式(Normal Mode) : # 进入命令模式(Command Mode)1.2.3.

操作场景:

编辑时突然需要翻页?按 ESC 切回普通模式保存文件?ESC → :wq

(2) 移动光标的肌肉记忆

复制gg # 跳转到文件开头 G # 跳转到文件末尾 50G # 跳转到第 50 行 Ctrl+f # 向下翻页(Page Down) Ctrl+b # 向上翻页(Page Up)1.2.3.4.5.

实战案例:

复制vim /var/log/nginx/access.log +G # 打开日志直接到底部 /error # 搜索所有 error 关键词1.2.

知识点:

+G:打开日志直接到底部/error:在命令模式下,搜索所有error关键词

(3) 高效编辑三件套

复制dd # 删除整行 yy # 复制当前行 p # 粘贴 u # 撤销操作(救命键!) :%s/old/new/g # 全局替换1.2.3.4.5.

运维场景:

复制# 批量修改配置中的 IP 地址 :%s/192.168.1.100/10.0.0.200/g1.2.

上述命令是把文件中192.168.1.100全部替换成10.0.0.200

运维老鸟的私藏技巧

(1) 技巧 1:日志分析闪电战

复制# 查看实时日志 vim /var/log/app.log +"set wrap!" :Glog # 进入实时追踪模式(需 vim-fugitive 插件) /500 # 搜索 HTTP 500 错误 n # 跳转到下一个匹配项1.2.3.4.5.

(2) 技巧 2:多文件协同编辑

复制vim -O nginx.conf app.conf # 垂直分屏打开多个文件 Ctrl+w+w # 窗口间切换 :diffthis # 对比文件差异1.2.3.

(3) 技巧 3:保存文件前显示差异

修改文件后不确定具体改动且担心有误修改?在 vim 中查看缓冲区与文件的差异,执行如下命令

复制:w !diff % -1.

知识点

:!<command>是执行shell命令的语法.%表示未修改的当前文件的名称.-是diff命令的STDIN文件。

通过上图可以看到文件第二行发生了改变,添加了新的内容。

小结

本文为运维人员提供了快速上手Vim的实用指南,帮助他们在5分钟内掌握核心编辑技巧。文章从Vim的不可替代性入手,详细介绍了模式切换、光标移动、高效编辑等基础操作,并分享了运维老鸟的私藏技巧,如日志分析、多文件编辑等。

阅读剩余
THE END