VIM 常用技巧

張景隆
3 min readNov 25, 2021

--

前言

發現滿多朋友在準備 CKA 考試的時候,卡關在 vi 編輯器的使用,在這邊簡單介紹一下常用的指令。

常見問題

💡 vi 跟 vim 要選哪一個?

A: vim 是 vi 的進化版本,也比 vi 好用許多,CKA 考試時其實已經預設安裝好 vim,通常也會幫你設定好別名 alias vi=vim,只要在命令列直接輸入 vi 即可。

💡 考 CKA 可以用別的文字編輯器嗎?

A: 可以。

你要用 emacs, nano or joe。考試時可以用 apt 安裝你要的編輯器。

記得順便指定 kubectl edit 預設編輯器,export KUBE_EDITOR=”nano”

不過如果時間允許,還是建議大家把 vi 練一練,下面就提供一些基本觀念跟常用技巧。

三種模式

指令模式 (Command mode)

除了游標移動,可以輸入下面指令來達到複製貼上。

編輯模式 (Insert Mode)

在此狀態就跟大部分編輯器差不多,可以輸入或刪除。按 Esc 回到 指令模式。

命令列模式 (Command line mode)

輸入 : 可以執行一些指令,例如:存檔並離開

輸入 / 可以執行搜尋

按 Esc 回到 指令模式。

在畫面上移動

善用 / 搜尋

可以快速跳到需要編輯的地方,通常我會輸入 /spec /containers,端看你的關鍵字是什麼。

ctrl+f, ctrl+b

ctrl+f 往回一頁(Page Up)

ctrl+b 往下一頁(Page Down)

G, gg

G 跳到最後一行

gg 跳到第一行

^$

如果熟悉 Regexp 的話,對這個應該不陌生。

^ 跳到該行第一個字

$ 跳到該行最後一個字

剪下、複製、貼上

D, dw

D 從游標開始剪下至行尾

dw 剪下一個word

dd

剪下一行,前面加數字就是剪下n行,例如:3dd(剪下三行)

yy

複製一行,前面加數字就是複製n行,例如:3yy(複製三行)

p

貼上

組合技 dG, dgg

dG 剪下至最後一行

dgg 剪下至第一行

插入模式

A 從後面插入

o 從下面一行插入

i 從中間插入

Undo Redo

u 復原 Undo

ctrl+r 重做 Redo

儲存、儲存並離開、離開不儲存

:w 儲存

:x 儲存並離開(你可能也有看過 :wq)

:q! (如果有編輯過,離開不想儲存,要加上驚嘆號)

VIM 還有很多功能等待你發現

是的,在這邊我只提到一些很常用的功能,已經足夠應付考試,vi 還有很多進階技巧,這邊就不多介紹,就留給各位自己去發現囉。

--

--

張景隆

Certified (PMP)® / CKA: Certified Kubernetes Administrator / TOGAF 9.2 Certified / AWS Solution Architect - Associate / Certified Scrum Master