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