Keyhab
:wq
Vim

Vim コマンド一覧(チートシート)移動・編集・マクロ・ウィンドウ操作

Vim のコマンドを操作別にまとめた一覧表。モード切り替え、移動、編集、テキストオブジェクト、マクロ、レジスタ、バッファとウィンドウ操作まで70個を掲載しています。

この記事の使い方

引くための一覧です。Vim を始めたばかりで「まず何を覚えるか」を知りたい場合は、基本編の記事の方が向いています。

以下はすべて ノーマルモード(Esc を押した状態)で入力します。

モードと保存・終了

コマンド操作
i挿入モードに入る
O上に行を挿入して挿入モード
vビジュアルモード(文字単位の選択)
Vビジュアルモード(行単位)
Ctrl + V矩形ビジュアルモード
Escノーマルモードに戻る
:w保存
:q終了
:wq保存して終了

移動

コマンド操作
w次の単語へ
b前の単語へ
0行頭へ
$行末へ
ggファイルの先頭へ
Gファイルの末尾へ
%対応する括弧へ
f{文字}行内で前方にその文字へ
t{文字}行内でその文字の手前へ
;直前の f / t を繰り返す
zzカーソル行を画面中央に
Ctrl + Oジャンプリストを戻る
Ctrl + Iジャンプリストを進む
m{a-z}現在位置にマークを付ける
'{a-z}マークのある行の先頭へ
バッククォート{a-z}マークを付けた位置そのものへ

f と ; の組み合わせは、行内移動では矢印キーより圧倒的に速くなります。

編集

コマンド操作
dd行を削除(カット)
yy行をコピー(ヤンク)
pカーソルの後にペースト
u元に戻す
Ctrl + Rやり直す
.直前の変更を繰り返す
J現在行と次の行を結合
>> / <<現在行をインデント/解除(ビジュアルモードの選択範囲には > / <)
Ctrl + Aカーソル位置の数値を +1
Ctrl + Xカーソル位置の数値を -1

ドット(.) は Vim でいちばん費用対効果が高いキーです。「1回やった変更を、場所を変えて繰り返す」が1打鍵で済みます。

テキストオブジェクト

「どこを」と「何をするか」を組み合わせる、Vim の中核になる考え方です。

コマンド操作
ciw単語を変更(削除して挿入モード)
ci"ダブルクォートの中を変更
ci(丸括弧の中を変更
di{波括弧の中を削除
vi[角括弧の中を選択
ya{波括弧を含めてヤンク
ditHTML タグの中を削除

読み方は c(change)/ d(delete)/ y(yank)/ v(select) + i(inside)/ a(around) + 対象。ci" なら「ダブルクォートの内側を変更」。この3文字の組み立てを理解すると、覚える量が一気に減ります。

検索・置換

コマンド操作
/keyword前方検索
n次の検索結果へ
*カーソル下の単語を前方検索
#カーソル下の単語を後方検索
:%s/old/new/gファイル全体を置換
:g/pattern/dパターンに一致する行を削除
:v/pattern/dパターンに一致しない行を削除

:g と :v は、ログの絞り込みのような作業で効きます。grep をエディタの中でやるイメージです。

マクロとレジスタ

コマンド操作
qq … qレジスタ q にマクロを記録
@qレジスタ q のマクロを実行
@@直前のマクロを再実行
:'<,'>norm @q選択した行すべてにマクロを適用
"ayy行をレジスタ a にヤンク
"apレジスタ a からペースト
:regレジスタ一覧を表示

マクロは「1行ぶんの編集を記録して、残り200行に流す」ための道具です。ビジュアルモードで範囲を選んでから :norm @q(入力すると自動で :'<,'> が付きます)まで覚えると、置換では書けない変形も一気に片付きます。

バッファ・ウィンドウ・タブ

コマンド操作
:buffersバッファ一覧
:bn / :bp次/前のバッファへ
:bdバッファを閉じる
:sp水平分割
:vsp垂直分割
Ctrl + W → w次のウィンドウへ
Ctrl + W → qウィンドウを閉じる
:tabnew新しいタブ
gt / gT次/前のタブへ

その他

コマンド操作
:set number行番号を表示
:!command外部コマンドを実行

覚える順番

一覧を上から暗記しようとすると、ほぼ確実に挫折します。順番はこれが現実的です。

  1. 生き残るための6つ:i / Esc / :w / :q / dd / u
  2. 移動:w / b / 0 / $ / gg / G
  3. テキストオブジェクト:ciw と ci" だけ。ここで世界が変わります
  4. ドット(.) と f + ;
  5. マクロとレジスタは、同じ編集を10回以上繰り返したくなった日に

3番まで来れば、他のエディタに戻ったときに不便を感じるようになります。そこからは必要に応じて足していけば十分です。

:wq

Vim のショートカットを、4択クイズで覚える

Keyhab は15ツール・1,050問を初級・中級・上級で出題する iPhone・iPad アプリ。1日5分、VSCode (Mac)・Vim の初級は無料で使えます。

App Store で無料ダウンロード

関連記事