Vim でよく使うコマンドのチートシート。

モード切替

コマンド説明
iカーソル位置の前から挿入
aカーソル位置の後ろから挿入
I行頭から挿入
A行末から挿入
o下に新しい行を作って挿入
O上に新しい行を作って挿入
vビジュアルモード(文字単位)
Vビジュアルモード(行単位)
Ctrl+vビジュアルモード(矩形)
<Esc>ノーマルモードに戻る

カーソル移動

コマンド説明
h j k l左・下・上・右へ移動
w次の単語の先頭へ
b前の単語の先頭へ
e単語の末尾へ
0行頭へ
^行頭の最初の非空白文字へ
$行末へ
ggファイルの先頭へ
Gファイルの末尾へ
<number>G指定行へ移動
%対応する括弧へ移動
f<char>行内の次の <char> へ移動
Ctrl+d半画面下へスクロール
Ctrl+u半画面上へスクロール

編集

コマンド説明
xカーソル位置の文字を削除
dd行を削除(カット)
dw単語を削除
Dカーソル位置から行末まで削除
cw単語を置き換え
cc行を置き換え
ciwカーソル下の単語を置き換え
ci"" で囲まれた中身を置き換え
r<char>1 文字を <char> に置き換え
J下の行と連結
>>インデントを増やす
<<インデントを減らす
.直前の変更を繰り返す
u元に戻す(undo)
Ctrl+rやり直す(redo)

コピー・ペースト

コマンド説明
yy行をコピー(ヤンク)
yw単語をコピー
y選択範囲をコピー(ビジュアルモード)
pカーソルの後ろにペースト
Pカーソルの前にペースト
"+yシステムクリップボードへコピー
"+pシステムクリップボードからペースト

検索・置換

コマンド説明
/<pattern>下方向へ検索
?<pattern>上方向へ検索
n次の検索結果
N前の検索結果
*カーソル下の単語を検索
:s/old/new/現在行の最初のマッチを置換
:s/old/new/g現在行のすべてのマッチを置換
:%s/old/new/gファイル全体で置換
:%s/old/new/gcファイル全体で確認しながら置換
:noh検索ハイライトを消す

ファイル操作

コマンド説明
:w保存
:q終了
:wq保存して終了
:q!保存せずに終了
:e <file>ファイルを開く
:r <file>ファイルの内容を挿入

ウィンドウ・バッファ

コマンド説明
:sp <file>上下に分割して開く
:vs <file>左右に分割して開く
Ctrl+w <hjkl>指定方向のウィンドウへ移動
Ctrl+w w次のウィンドウへ移動
Ctrl+w qウィンドウを閉じる
:lsバッファ一覧を表示
:bn次のバッファへ
:bp前のバッファへ
:b <number>番号指定でバッファへ移動

マクロ・マーク

コマンド説明
q<reg>レジスタ <reg> にマクロ記録開始
qマクロ記録終了
@<reg>マクロを実行
@@直前のマクロを再実行
m<char>現在位置にマークを設定
`<char>マーク位置へ移動

多くのコマンドは 3dd(3 行削除)や 5j(5 行下へ)のように回数を前置できる。d・c・y などのオペレーターは w・$・iw などのモーションやテキストオブジェクトと組み合わせて使う。