viコマンド集
※[移]はテキスト入力モードへ移行することを示します。
※[n有効]はコマンドの前に数値を付けると動作が変わることを示します。
例えば、x(1文字削除)に数値を付けて、2xなら2文字削除という具合。
動作が分かりにくいものは説明を付けています。
※"系"が付いているコマンドは、単語対象、行対象などの指定を行うことができます。
例えば、c系なら、cwで単語の変更、ccで1行変更、c^で行頭から変更という具合。
★モード移行
★テキスト入力
| i | カーソルの左に文字を挿入[移] |
| I | カーソル行の行頭に文字を挿入[移] |
| a | カーソルの右に文字を挿入[移] |
| A | カーソル行の行末に文字を挿入[移] |
| o | カーソル行の下の行に空行を作って文字を挿入[移] |
| O | カーソル行の上の行に空行を作って文字を挿入[移] |
| c系 | 対象文字列を消して文字を挿入(つまり、変更)[移][n有効] |
| C | カーソル位置から行末までを消して文字を挿入[移][n有効(2行目以降は全削除)] |
★変更
| r文字 | カーソル位置の文字を指定文字に変更[n有効(n文字を全て指定文字に変換)] |
| R | 複数文字置換[移] |
| J | その行の末尾の改行をスペースに置換(つまり連結)[n有効(n行連結)] |
| ~ | カーソル位置の文字を小文字/大文字変換[n有効] |
★削除
| x | 1文字削除[n有効] |
| d系 | 対象文字列を削除[n有効] |
| :g/文字列/d(Enter要) | 指定文字列のある行を全て削除 |
★カット・コピー・ペースト
※上記の削除を行うとカットされたことになってます。
| y系 | 対象文字列をコピー[n有効] |
| P | 削除(コピー)した文字列をカーソルの前にペースト[n有効] |
| p | 削除(コピー)した文字列をカーソルの後にペースト[n有効] |
| Shift+INS | (テキスト入力モードで)クリップボードからペースト |
★カーソル移動
| h | カーソルを左へ(行間移動しない)[n有効] |
| j | カーソルを下へ[n有効] |
| k | カーソルを上へ[n有効] |
| l | カーソルを右へ(行間移動しない)[n有効] |
| | |
| w | カーソルを1語進める[n有効] |
| b | カーソルを1語戻す[n有効] |
| e | カーソルを単語末尾へ(すでに単語末尾なら次の単語の末尾へ)[n有効] |
| | |
| ^ | カーソルを行頭へ |
| $ | カーソルを行末へ[n有効(n-1行下の行末へ移動)] |
| G | カーソルを最終行行頭へ[n有効(n行目行頭へ)] |
| - | 前行の行頭へ[n有効] |
| Enter | 次行の行頭へ[n有効] |
★画面移動
| H | カーソルを画面先頭へ[n有効(カーソルを画面先頭からn行目へ)] |
| M | カーソルを画面真中へ |
| L | カーソルを画面最終行へ[n有効(カーソルを画面最終行からn行目へ)] |
| C-D | 1/2画面下へ[n有効(カーソルをn行下へ)] |
| C-U | 1/2画面上へ[n有効(カーソルをn行上へ)] |
| C-F | 1画面下へ[n有効(n画面下へ)] |
| C-B | 1画面上へ[n有効(n画面上へ)] |
★検索・置換
| /文字列(Enter要) | 文字列検索 |
| n | 次の検索文字列へ |
| N | 前の検索文字列へ |
| :1,$s/文字列A/文字列B/g(Enter要) | 文字列Aを全て文字列Bに置換 |
| :s/文字列A/文字列B/g(Enter要) | カーソル行の文字列Aを全て文字列Bに置換 |
★ファイル操作
| ZZ | 保存して終了 |
| :w(Enter要) | 上書き保存 |
| :w ファイル名(Enter要) | 名前を付けて保存 |
| :wq(Enter要) | 保存して終了 |
| :q!(Enter要) | 保存せずに終了 |
| :q(Enter要) | 終了 |
| :e ファイル名(Enter要) | ファイルを開く |
★アンドゥなど
HOME