ファイル操作
| コマンド | 内容 |
|---|---|
| ZZ | 上書き保存して vi を終了 |
| :w | 内容を保存 |
| :q! | 保存せずに終了 |
モード
| コマンド | 内容 |
|---|---|
| i | 挿入モードへ |
| o | 新しい行を追加し挿入モードへ |
| R | 上書きモードへ |
| v | ビジュアルモードへ |
| Ctrl + v | 矩形選択のビジュアルモードへ |
| ESC | コマンドモードに戻る |
| Ctrl + [ | コマンドモードに戻る |
| Ctrl + z | vim を一時停止する、vim に戻るときは fg |
カーソル移動
| コマンド | 内容 |
|---|---|
| w | 次の単語(word) |
| b | 前の単語(word) |
| f(文字) | カーソルがある行の(文字)に移動(Find) |
| F(文字) | カーソルがある行の(文字)に移動(逆向き) |
| 0 | 行頭 |
| ^ | 行頭 |
| $ | 行末 |
| % | 対応する括弧に移動 |
| Ctrl + u | 半画面上(up) |
| Ctrl + d | 半画面下(Down) |
| zz | カーソルが画面中央になるようにスクロール |
| Ctrl + o | 古カーソル位置に戻る(old) |
| Ctrl + i | 新しいカーソル位置に進む |
行移動
| コマンド | 内容 |
|---|---|
| gg | 最初の行 |
| 88G | 88行目 |
| G | 最終行 |
| H | 画面上の最初の行(home) |
| M | 画面上の中央の行(middle) |
| L | 画面上の最後の行 |
検索と置換
| コマンド | 内容 |
|---|---|
| * | カーソル下の単語を検索 |
| # | カーソル下の単語を検索(上方向に検索) |
| :%s/hage/hoge/g | 単語の置換(hage を hoge へ置換) % はファイル全体を表する |
編集
| コマンド | 内容 |
|---|---|
| . | 直前の変更を繰り返す |
| u | undo |
| Ctrl + r | redo |
コピー&ペースト
| コマンド | 内容 |
|---|---|
| yy | 今いる行をコピー(yank) |
| p | カーソルの行に ペースト |
| yy5p | 現在の行をコピーし、下に5行追加する |
| gv | 直前の選択範囲を再選択 |
特殊文字
| コマンド | 内容 |
|---|---|
| Ctrl – v return | 改行文字の入力 |
| Ctrl – v tab | Tab 文字の入力 |
ウィンドウ
| コマンド | 内容 |
|---|---|
| :split | 画面を上下に分割する |
| Ctrl + w j | 下の window へ移動 |
| Ctrl + w k | 上の window へ移動 |
| :vsplit | 画面を左右に分割する |
| Ctrl + w h | 左の window へ移動 |
| Ctrl + w l | 右の window へ移動 |
| :e filename | 今いる window にファイルを開く(edit) |
| :e test*.cc | ワイルドカードを指定してファイルを開く |
バッファ
| コマンド | 内容 |
|---|---|
| :ls, :buffers | 編集中のバッファ一覧を表示 |
| :bn | 次のバッファに移動 |
| :bd[elete] | バッファを削除 |
単語補完
| コマンド | 内容 |
|---|---|
| Ctrl + p | 単語補完(前方検索) |
マクロ
| コマンド | 内容 |
|---|---|
| q | マクロの記録開始 |
| q | マクロの記録停止 |
| @ | マクロの実行 |
レジスタ
| コマンド | 内容 |
|---|---|
| :reg | レジスタの一覧表示 |
| Ctrl + r “ | ヤンクした文字列をペースト |
コマンドの意味
| コマンド | 内容 |
|---|---|
| g | 繰り返し |
| c | 1回ごとに確認 |
その他
| コマンド | 内容 |
|---|---|
| :!command | 外部コマンドの実行 |
| : | 範囲選択中に : を入力すると、選択領域の範囲指定('<,’>)が自動で挿入された状態でコマンドモードに入る。これを置換に利用すると便利。(例::'<,’>s/old/new/g) |
| Ctrl + a | 数値のインクリメント |
| Ctrl + x | 数値のデクリメント |