はじめに
Vimの基本的なコマンドにしぼってまとめた.
起動と終了
| コマンド | 動作 |
|---|---|
| vim | vimの起動 |
| vim [ファイル名] | ファイルを指定して起動 |
| :q | vimの終了 |
| :q! | vimを強制終了 |
| vimtutor | vimのチュートリアルを表示 |
モード切り替え
| コマンド | 動作 |
|---|---|
| i | カーソルの左から挿入モードを開始 |
| I | 行頭から挿入モードを開始 |
| v | 文字単位のビジュアルモードを開始 |
| V | 行単位のビジュアルモードを開始 |
| Ctrl + v | 矩形選択のビジュアルモードを開始 |
| [ESC] | ノーマルモードへ戻る |
ファイル操作
| コマンド | 動作 |
|---|---|
| :w | 上書き保存 |
| :w [ファイル名] | 指定したファイルに保存 |
| :wq | 上書き保存して終了 |
| :e [ファイル名] | 起動後に別ファイルに切り替え |
カーソルの移動
| コマンド | 動作 |
|---|---|
| gg | ファイルの先頭へ移動 |
| G | ファイルの末尾へ移動 |
| Ctrl + f | 1画面下へ移動 |
| Ctrl + b | 1画面上へ移動 |
| w | 単語単位で右方向に移動 |
| b | 単語単位で左方向に移動 |
| ^ | 行頭へ移動 |
| $ | 行末へ移動 |
| f + [文字] | 指定した文字へ移動 |
| ; | f + [文字]で複数該当した場合に次の該当箇所へ移動 |
| % | (括弧の上で入力すると)対応する閉じ括弧へ移動 |
削除, コピー, 貼り付け
| コマンド | 動作 |
|---|---|
| x | カーソル位置の文字を削除 |
| X | カーソル位置の左の文字を削除 |
| dd | 行単位で削除 |
| [数字]dd | 行数を指定して削除 |
| yy | 行単位でコピー |
| [数字]yy | 行数を指定してコピー |
| p | 貼り付け |
検索
| コマンド | 動作 |
|---|---|
| /[文字] | 指定した文字列を検索する |
| n | 検索結果に複数該当した場合に下方向の該当箇所へ移動 |
| N | 検索結果に複数該当した場合に上方向の該当箇所へ移動 |
| * | 現在のカーソル位置の単語を下方向に検索 |
| # | 現在のカーソル位置の単語を上方向に検索 |
置換
| コマンド | 動作 |
|---|---|
| :s/[検索文字]/[変換文字]/ | 検索した文字を指定した文字に置換する(1箇所のみ) |
| :s/[検索文字]/[変換文字]/g | 検索した文字を指定した文字に置換する(行内全て) |
| :%s/[検索文字]/[変換文字]/g | 検索した文字を指定した文字に置換する(ファイル内全て) |
| :s/[検索文字]/[変換文字]/c | 検索した文字を指定した文字に置換する(確認付き) |
undo, redo
| コマンド | 動作 |
|---|---|
| u | やり直し(undo) |
| Ctrl + r | やり直しのやり直し(redo) |
ウィンドウ操作
| コマンド | コマンド | 動作 |
|---|---|---|
| Ctrl + w + s | :sp | ウィンドウを上下に分割 |
| Ctrl + w + v | :vs | ウィンドウを左右に分割 |
| Ctrl + w + w | - | ウィンドウ間の移動 |
| Ctrl + w + Ctrl + w | - | ウィンドウ間の移動 |
| Ctrl + W + c | :close | 現在のウィンドウを閉じる(ただし最後のウィンドウ以外) |
| Ctrl + W + o | - | 現在のウィンドウ以外を閉じる |
タブ操作
| コマンド | 動作 |
|---|---|
| :tabnew | 新しいタブを開く |
| :tabe [ファイル名] | ファイルを指定してタブを開く |
| gt | タブの切り替え |
| :tabclose | タブを閉じる |
| vim -p [ファイル名, ファイル名 ...] | 起動時にタブを指定する(pオプション) |
| :tabdo | タブ全体に適用 |
テキストオブジェクトの扱い
| コマンド | 動作 |
|---|---|
| cit | タグの中身を変更 |
| cat | タグ全体を変更 |
| ci" | ""の中身を変更 |
設定
| コマンド | 動作 |
|---|---|
| :set number | 行番号の表示 |
| :set nonumber | 行番号の非表示 |
| :syntax on | コードの色分けをする |
| :syntax off | コードの色分けをしない |
| :set tabstop=[数字] | タブの文字数を設定 |
| :set ignorecase | 大文字小文字の区別をしない |
| :set noignorecase | 大文字と小文字を区別する |
組み合わせ
| コマンド | 動作 |
|---|---|
| gg V G | 全選択 |
| Ctrl + v I | 矩形選択をしてまとめて編集 |
| :tabdo %s/[検索文字]/[変換文字]/g | 検索した文字を指定した文字に置換する(タブ内全て) |
その他
| コマンド | 動作 |
|---|---|
| . | 直前の操作を繰り返す |
| = | インデントを揃える |
| Ctrl + n | 補完する |