五分钟上手 Vim 运维老鸟的必备编辑技巧
为什么运维老鸟离不开 Vim?
真实场景:
当你通过SSH连接到一台没有GUI的服务器,面对一个2GB的日志文件时:
图形化工具卡死Nano功能太弱唯有Vim能快速定位问题Vim 的不可替代性:
轻量高效:无需安装插件即可处理大文件纯键盘操作:手不离键盘,效率翻倍无处不在:预装在所有Linux/Unix系统中(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