五分鐘上手 Vim 運維老鳥的必備編輯技巧
為什么運維老鳥離不開 Vim?
真實場景:
當你通過SSH連接到一臺沒有GUI的服務器,面對一個2GB的日志文件時:
- 圖形化工具卡死
- Nano功能太弱
- 唯有Vim能快速定位問題
Vim 的不可替代性:
- 輕量高效:無需安裝插件即可處理大文件
- 純鍵盤操作:手不離鍵盤,效率翻倍
- 無處不在:預裝在所有Linux/Unix系統中
五分鐘掌握 Vim 生存技能
(1) 模式切換(生存底線)
i # 進入編輯模式(Insert Mode)
ESC # 返回普通模式(Normal Mode)
: # 進入命令模式(Command Mode)
操作場景:
- 編輯時突然需要翻頁?按 ESC 切回普通模式
- 保存文件?ESC → :wq
(2) 移動光標的肌肉記憶
gg # 跳轉到文件開頭
G # 跳轉到文件末尾
50G # 跳轉到第 50 行
Ctrl+f # 向下翻頁(Page Down)
Ctrl+b # 向上翻頁(Page Up)
實戰案例:
vim /var/log/nginx/access.log +G # 打開日志直接到底部
/error # 搜索所有 error 關鍵詞
知識點:
- +G:打開日志直接到底部
- /error:在命令模式下,搜索所有error關鍵詞
(3) 高效編輯三件套
dd # 刪除整行
yy # 復制當前行
p # 粘貼
u # 撤銷操作(救命鍵!)
:%s/old/new/g # 全局替換
運維場景:
# 批量修改配置中的 IP 地址
:%s/192.168.1.100/10.0.0.200/g
上述命令是把文件中192.168.1.100全部替換成10.0.0.200
運維老鳥的私藏技巧
(1) 技巧 1:日志分析閃電戰
# 查看實時日志
vim /var/log/app.log +"set wrap!"
:Glog # 進入實時追蹤模式(需 vim-fugitive 插件)
/500 # 搜索 HTTP 500 錯誤
n # 跳轉到下一個匹配項
(2) 技巧 2:多文件協同編輯
vim -O nginx.conf app.conf # 垂直分屏打開多個文件
Ctrl+w+w # 窗口間切換
:diffthis # 對比文件差異
(3) 技巧 3:保存文件前顯示差異
修改文件后不確定具體改動且擔心有誤修改?在 vim 中查看緩沖區與文件的差異,執行如下命令
:w !diff % -
知識點
- :!<command>是執行shell命令的語法.
- %表示未修改的當前文件的名稱.
- -是diff命令的STDIN文件。
通過上圖可以看到文件第二行發生了改變,添加了新的內容。
小結
本文為運維人員提供了快速上手Vim的實用指南,幫助他們在5分鐘內掌握核心編輯技巧。文章從Vim的不可替代性入手,詳細介紹了模式切換、光標移動、高效編輯等基礎操作,并分享了運維老鳥的私藏技巧,如日志分析、多文件編輯等。