Vim チートシート
カーソル移動
-
h / j / k / l詳細 ↓上下左右に移動する
-
w / b詳細 ↓単語単位で移動する
-
0 / $詳細 ↓行頭・行末へ移動する
-
gg / G詳細 ↓ファイル先頭・末尾へ移動する
-
m<char> / `<char>詳細 ↓マークを設定・移動する
テキスト編集
-
i / a詳細 ↓インサートモードへ移行する
-
o / O詳細 ↓行を挿入して入力する
-
u / Ctrl+r詳細 ↓元に戻す / やり直す
-
dd / dw詳細 ↓行や単語を削除(カット)する
-
yy / y$詳細 ↓行などをコピー(ヤンク)する
-
p / P詳細 ↓ペーストする
-
~詳細 ↓大文字・小文字を切り替える
-
Ctrl+a / Ctrl+x詳細 ↓数値を増減させる
選択モード
-
v / V / Ctrl+v詳細 ↓ビジュアルモードで選択する
検索・置換
-
/pattern詳細 ↓文字列を検索する
-
:%s/old/new/g詳細 ↓文字列を全置換する
ファイル操作
-
:w詳細 ↓ファイルを保存する
-
:q / :q!詳細 ↓終了する
-
:r <file>詳細 ↓ファイルの内容を読み込む
ウィンドウ
-
:sp / :vsp詳細 ↓画面を分割する
-
:tabnew詳細 ↓新しいタブを開く
高度な機能
-
q<reg> ... q詳細 ↓操作を記録・再生する(マクロ)
コードをクリックでコピー / 詳細へスクロール
詳細リファレンス
h / j / k / l
上下左右に移動する使用例
h(左), j(下), k(上), l(右) 解説
Vimの基本となるカーソル移動キーです。矢印キーに手を伸ばす必要がなく、ホームポジションから手を離さずに高速に移動できるのがVimの最大の利点です。
w / b
単語単位で移動する使用例
w (次へ), b (前へ) 解説
単語(word)の先頭へジャンプします。`w` は次の単語の先頭へ、`b` は前の単語の先頭へ移動します。文字単位の移動より遥かに効率的です。
0 / $
行頭・行末へ移動する使用例
0 (行頭), $ (行末) 解説
現在の行の先頭(`0`)または末尾(`$`)へ一瞬で移動します。行末にセミコロンを追加したり、行頭のインデントを確認する際によく使います。
gg / G
ファイル先頭・末尾へ移動する使用例
gg (先頭), G (末尾) 解説
ファイルの最初(`gg`)または最後(`G`)へジャンプします。ログファイルの最新部分(末尾)を確認したり、import文などの先頭へ戻る際に便利です。
m<char> / `<char>
マークを設定・移動する使用例
ma (Aにセット) -> 'a (Aへ移動) 解説
現在の場所に目印(マーク)を付け、後でその場所に瞬時に戻れます。長いファイルを行き来しながら編集する際に必須の機能です。
i / a
インサートモードへ移行する使用例
i (前), a (後) 解説
文字を入力するためのモードへ移行します。`i` はカーソルの前、`a` はカーソルの後ろから入力を開始します。
o / O
行を挿入して入力する使用例
o (下に行挿入), O (上に行挿入) 解説
新しい空行を挿入し、即座にインサートモードに入ります。`o` は現在行の下に、`O` は現在行の上に挿入します。
u / Ctrl+r
元に戻す / やり直す使用例
u (Undo), Ctrl+r (Redo) 解説
直前の変更を取り消します(Undo)。取り消しすぎてしまった場合は `Ctrl+r` でやり直す(Redo)ことができます。
dd / dw
行や単語を削除(カット)する使用例
dd (1行), dw (単語) 解説
テキストを削除します。Vimの削除は「カット(切り取り)」と同じ意味を持ち、削除した内容はクリップボード(レジスタ)に保存され、ペースト可能です。
yy / y$
行などをコピー(ヤンク)する使用例
yy (1行コピー) 解説
テキストをコピーします。Vim用語では「ヤンク(yank)」と呼びます。`yy` で行全体、`y$` でカーソルから行末までをコピーします。
p / P
ペーストする使用例
p (後ろに), P (前に) 解説
削除またはヤンク(コピー)した内容を貼り付けます。`p` はカーソルの後ろ(または下の行)、`P` はカーソルの前(または上の行)に貼り付けます。
~
大文字・小文字を切り替える使用例
~ 解説
カーソル位置の文字の大文字・小文字をトグル(反転)させます。変数名や定数名の表記揺れを修正する際に地味に便利です。
Ctrl+a / Ctrl+x
数値を増減させる使用例
Ctrl+a (+1), Ctrl+x (-1) 解説
カーソル位置(またはその行の次の数値)の数字を1増やしたり減らしたりします。CSSのpx調整やバージョンのインクリメントに便利です。
v / V / Ctrl+v
ビジュアルモードで選択する使用例
v(文字), V(行), Ctrl+v(矩形) 解説
範囲選択モードに入ります。`v`は文字単位、`V`は行単位、`Ctrl+v`は矩形(ブロック)単位で選択でき、一括削除や一括編集に威力を発揮します。
/pattern
文字列を検索する使用例
/keyword -> n (次), N (前) 解説
ファイル内の文字列を検索します。入力後にEnterを押すと検索され、`n` キーで次の一致箇所、`N` キーで前の一致箇所へジャンプします。
:%s/old/new/g
文字列を全置換する使用例
:%s/foo/bar/g 解説
ファイル全体の文字列を一括置換します。`%` はファイル全体、`g` は行内の全ての一致箇所(global)を意味します。確認しながら行いたい場合は `gc` を使います。
:w
ファイルを保存する使用例
:w 解説
編集中のファイルを保存(Write)します。`:w filename`のようにファイル名を指定することで、別名で保存することも可能です。
:q / :q!
終了する使用例
:q (終了), :q! (強制終了) 解説
Vimを終了します。変更が保存されていない場合は警告が出ます。変更を破棄して強制的に終了したい場合は `!` を付けて `:q!` と入力します。
:r <file>
ファイルの内容を読み込む使用例
:r header.txt 解説
別のファイルの内容を、現在のカーソル位置の下に挿入します。雛形の読み込みなどに使えます。`:r !ls` のようにコマンド実行結果の挿入も可能です。
:sp / :vsp
画面を分割する使用例
:sp (水平), :vsp (垂直) 解説
ウィンドウを分割して、複数のファイルを同時に表示します。`Ctrl+w` の後に矢印キー(またはh,j,k,l)を押すことで、フォーカスを移動できます。
:tabnew
新しいタブを開く使用例
:tabnew filename 解説
新しいタブページを作成します。`gt` で次のタブ、`gT` で前のタブへ移動できます。画面分割と使い分けることで作業効率が上がります。
q<reg> ... q
操作を記録・再生する(マクロ)使用例
qa (記録開始) -> 操作 -> q (終了) -> @a (再生) 解説
一連のキー操作を記録し、それを繰り返し実行できる強力な機能です。同じ修正を複数の行に対して連続して行いたい場合などに劇的な効率化が図れます。