vim 高級功能
- 2019 年 10 月 3 日
- 筆記
本文章原創首發於公眾號:編程三分鐘 ,文末二維碼。
文本編輯、跳轉、刪除、複製、替換這些操作用vim確實是快;但是好像僅僅是這樣根本不能說服我vim
超過滑鼠的地方。
花點時間弄熟這些,除了炫技意外,主要為了防止深夜被拉起來救火,機房還不能遠程,連夜打車到了地方,卻發現伺服器沒有圖形化介面,這個時候要是腳本寫的熟,vim
操作6
幾下修復完了,能盡量降低損失,也能睡個好覺了。
高級功能入門
常用操作在之間的文章我們已經已經掌握了,接下來就要搞一點高級操作,基本誰看見都要感嘆一聲「你vim
怎麼這麼6!。
- 同時修改多個文件、快速在文件之間切換
- 編輯多個文檔時分屏操作
- 批量注釋多行程式碼、修改配置、區域複製刪除
多文件的編輯
同時編輯兩個文件1.txt
,2.txt
vim 1.txt 2.txt
查看同時打開了哪些文件 :ls
,其中%a
表示正在編輯的文件。
在文件之間切換 :n
, :N
直接切換到想要編輯的文件 :b 1.txt
當然了我們為什麼跳來跳去,因為這可以完成多個文件之間複製粘貼等組合操作。
分屏
創建分屏
:sp 2.txt
打開新的水平分屏(上下)視窗來編輯2.txt
:vsp 2.txt
打開新的垂直分屏(左右)視窗來編輯2.txt
分屏跳轉與移動分屏
我先打開了三個文件,1.txt
2.txt
3.txt
現在我分別跳轉到各個文件中,刪除文件內容。
普通模式下Ctrl+w j
移至下面視窗
普通模式下Ctrl+w k
移至上面視窗
普通模式下Ctrl+w h
移至左邊視窗
普通模式下Ctrl+w l
移至右邊視窗
現在我垂直打開了三個文件,使用以下命令移動視窗,先把文件3
從最左邊移動到最右邊,再移動下最下邊
普通模式下Ctrl+w J
將當前視窗移至下面
普通模式下Ctrl+w K
將當前視窗移至上面
普通模式下Ctrl+w H
將當前視窗移至左邊
普通模式下Ctrl+w L
將當前視窗移至右邊
只要位於相應視窗,:q
:wq
q!
退出就可以;wqa
或qa!
全部退出
可視模式
可視模式分為三種,也是vim
的精髓。分別是行,矩形區域選擇,字元段落選擇。
和滑鼠選擇類似,進入可視模式加定位符號就可以快速跳轉到想選擇的範圍,選中以後再進行複製,刪除等操作。
行選擇
行選擇 Shift+v(小寫)
, 整行選取,可以上下移動游標選更多的行,再按一次 Shift+v
就可以取消選取。
如下,進入行選擇模式,輸入4G
,跳轉到第四行,d
刪除所選區域。
矩形區域選擇
矩形區域選擇Ctrl+v(小寫)
,按區域選取,可以上下左右移動游標選更多的區域,再按一次 Ctrl+v
就可以取消選取。
如下:選擇所有的行和第一列所在在區域,shift+i
進入插入模式,插入#
,雙擊兩次esc
,批量注釋。然後重複選擇動作,輸入x
刪除所選區域。
字元選擇(段落選擇)
字元選擇 v(小寫)
,可以移動游標,游標走過的地方就會選取。再次按下v
後就會取消選取。
如下:v$
選中192.168.1.2
退一格為了不選中換行符,到第一行粘貼ip
再選中不需要的ip刪除掉。
可視化模式和定位符結合使用效果最佳!
小結
同時編輯多個文件: vim 1.txt 2.txt
, 切換文件 :n
、:N
、:b 1.txt
分屏 :sp 2.txt
:vsp 2.txt
,跳轉Ctrl+w h|j|k|l
移動分屏位
置Ctrl+w H|J|K|L
可視模式 Shift+v
、Ctrl+v
、v
vim
命令比較多,這裡只列舉最有用的,足以應對全部的場景了,記的越多速度越快!