前言
發現滿多朋友在準備 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 還有很多進階技巧,這邊就不多介紹,就留給各位自己去發現囉。