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 などのモーションやテキストオブジェクトと組み合わせて使う。