vim ノーマルモードのコマンド一覧
vimのノーマルモードのコマンドをまとめてみました。
慣れないうちはこのページを見て、vimの基本を学びましょう。
このページでノーマルモードのコマンドが一通り習得できれば、
できればかなりコーディングの速度が上がるはずです。
保存、終了処理
| ZZ | 上書き保存してvimを終了 |
|---|---|
| :q | vimを終了 |
| :q! | 保存せずにvimを終了 |
| :w | 上書き保存 |
Undo, Redo
| u | undo(直前の動作の取り消し) |
|---|---|
| Ctrl + r | redo(取り消した動作を戻す) |
移動系
基本移動
| h | カーソルを左に移動 |
|---|---|
| j | カーソルを下に移動 |
| k | カーソルを上に移動 |
| l | カーソルを右に移動 |
ページ移動
| Ctrl + u | 画面の半分上に移動 |
|---|---|
| Ctrl + d | 画面の半分下に移動 |
| Ctrl + b | 1画面分上に移動 |
| Ctrl + f | 1画面分下に移動 |
| gg | ファイル先頭の行頭に移動 |
| G | ファイル末尾の行頭に移動 |
| [n]G | [n]行目の行頭に移動(例:50G -> 50行目の行頭に移動) |
行末・行頭への移動
| 0 | 行頭へ移動 |
|---|---|
| ^ | 行頭へ移動(インデントが考慮される) |
| $ | 行末へ移動 |
単語単位での移動
| w | 次の単語の先頭に移動 |
|---|---|
| b | 前の単語の先頭に移動 |
| e | 次の単語の末尾に移動 |
| ge | 前の単語の末尾に移動 |
1文字検索移動
| f[char] | 現在のカーソル位置から、その行の末尾にかけて[char]文字を検索 見つかればその文字に移動 |
|---|---|
| F[char] | 現在のカーソル位置から、その行の先頭にかけて[char]文字を検索 見つかればその文字に移動 |
| ; | f,Fコマンドでの検索を順方向に繰り返す |
| , | f,Fコマンドでの検索を逆方向に繰り返す |
文字列検索
| /[str] | 現在のカーソル位置から、ファイル末尾にかけて[str]文字列を検索 見つかればその文字列の先頭に移動 |
|---|---|
| ?[str] | 現在のカーソル位置から、ファイル先頭にかけて[str]文字列を検索 見つかればその文字列の先頭に移動 |
| e | /,?コマンドでの文字列検索を順方向に繰り返す |
| ge | /,?コマンドでの文字列検索を逆方向に繰り返す |
対応カッコへの移動
| % | 対応するカッコへの移動 |
|---|
ヤンク、削除
基本コマンド(基本コマンドと以下の操作対象を組み合わせて使用する)
[基本コマンド] + [操作対象]
| y | ヤンク(クリップボードにコピー) |
|---|---|
| d | 削除 |
| c | 削除の後、挿入モードへ移行 |
操作対象
移動系コマンドから大体推測できると思いますが
| w | カーソル位置から単語末尾までを |
|---|---|
| b | カーソル位置から単語先頭までを |
| iw | カーソル位置に存在する1単語を |
| 0 | カーソル位置から行頭までを |
| ^ | カーソル位置から行頭までを(インデントが考慮される) |
| $ | カーソル位置から行末までを |
例)
y$ : カーソル位置から行末までを ヤンクする
diw : カーソル位置に存在する1単語を 削除する
c0 : カーソル位置から行頭までを 削除の後、インサートモードへ移行する
1行分の操作
| yy | 1行ヤンク(クリップボードにコピー) |
|---|---|
| dd | 1行削除 |
| cc | 1行削除の後、挿入モードへ移行 |
行末までの操作
なぜか、”Y”コマンドは行末までヤンクではなく1行ヤンクとなっているので注意(”yy”と同じ)
| D | 現在のカーソル位置から行末まで削除 |
|---|---|
| C | 現在のカーソル位置から行末まで削除の後、挿入モードへ移行 |
1文字削除
| x | 現在のカーソル位置の1文字を削除 |
|---|---|
| X | 現在のカーソル位置の直前の1文字を削除 |
ペースト
| p | 現在のカーソル位置の後にペースト |
|---|---|
| P | 現在のカーソル位置の前にペースト |
インサートモードへの移行
基本
| i | カーソル位置からインサート |
|---|---|
| a | カーソル位置の右側からインサート |
| I | 行頭からインサート |
| A | 行末からインサート |
空行を挿入する
| o | 現在のカーソル位置の下に空行を挿入してインサート |
|---|---|
| O | 現在のカーソル位置の上に空行を挿入してインサート |
ヴィジュアルモードへの移行
| v | ヴィジュアルモード |
|---|---|
| V | 行選択ヴィジュアルモード |
| Ctrl + v | 矩形選択ヴィジュアルモード |
インクリメント、デクリメント
| Ctrl + a | インクリメント(数値を一つ上げる) |
|---|---|
| Ctrl + x | デクリメント(数値を一つ下げる) |
インデント
| >> | インデントを追加 |
|---|---|
| << | インデントを削除 |
直前の動作の繰り返し
| . | 直前の動作の繰り返し |
|---|