【CKAD】素のVimでYAMLファイルを扱う時のTips

www.cncf.io

CKADを受験しようと思い練習をしているが、YAMLファイルを扱うのが面倒になってきた。特にインデント調整にかなり精神力を削られる。
時間が足りないことで有名な試験なので何か便利な拡張ライブラリを探したいところだが、CKADの場合実行環境が運営側から与えられる形であり、おそらく素のVimを使わなければいけない。YAMLファイルの場合に役立ちそうなテクニックをまとめておく。

インデントを設定する

KubernetesYAMLファイルはインデントがスペース2文字になっていることが多いが、Vimの初期設定ではタブ(8文字分)になっている。この設定はVimのコマンドで可能である。

:set et
:set sw=2 ts=2 sts=2

:set et でタブをスペースに変換し、 :set sw=2 ts=2 sts=2 で幅を2文字分にしている。 また :set autoindent をつけると、行を改行したときもインデントが保持される。
(2020/10/19追記) :set autoindent をつけると、KubernetesのドキュメントからYAMLをコピペしたときに自動でインデントが追加されてしまい、非常に見辛くなるので削除した。

行のインデントを調整する

コマンドモードの状態で >> を押すと、カーソルがある行のインデントを1つ進めることができる。 << で戻すことができる。カーソルが行頭・行末になくても良いので、インデントを変えたいときに非常に便利。
また複数行のインデントを変えたいときは、ビジュアルモードで行を選択し shift + > ( shift + < )とすれば良い。 . で繰り返すことができる。

CKAD本番では、最初に簡単な.vimrcを作った方が良いかもしれない。