| i | カーソル前に文字を挿入 |
| a | カーソル後に文字を挿入 |
| o | 1行後ろに文字を挿入 |
| esc | コマンドモードになる。Control+[でも同じことが出来る。 |
| 矢印操作 | |
| h | ← |
| j | ↓ |
| k | ↑ |
| l | → |
| gg | ファイル先頭に移動 |
| G | ファイル末尾に移動 |
| $ | 行末に移動 |
| 0または^ | 行頭に移動 |
| Ctrl+u | ページアップ(半画面分) |
| Ctrl+d | ページダウン(半画面分) |
| Ctrl+f | ページ送り(一画面分) |
| Ctrl+b | ページ戻り(一画面分) |
| w | 次の単語へ移動 |
| b | 前の単語へ移動 |
| x,dd | 切り取り |
| yy | 行をコピー |
| v | 選択を開始 |
| p | 貼り付け |
| / | 前方検索。次の検索単語を調べる時はn、戻るときはNを押す。 |
| ? | 後方検索。 |
| f | 1行、1文字検索。次に行く時は;、戻るときは,を押す。 |
| u | 元に戻す |
| Ctrl+r | 元に戻すを戻す |
| Ctrl+p | 単語補完(前方検索) |
| Ctrl+n | 単語補完(後方検索) |
| Ctrl+v | ビジュアルモード(矩形選択とかが可能になる) |
| :%s/置換前文字列/置換後文字列/gc | 置換処理 |
| :w | 保存 |
| :q | 終了 |
| :q! | 強制終了 |
| :e++enc=文字コード | 文字コード表示を変更 |
| set | set オプションでオプション機能を追加する。 set noオプションでオプション機能を減らす。set allで全てのオプションを見れる。 よく使うのが、set number。次点でset autoindent。さらに次点がshiftwidth=4 |
| imap | キーマッピングを設定できる。例えばescを押すのが面倒な場合にcontrol+jをesc代わりとして使用する場合はimap <c-j> <esc>を.exrcに追加する。 |
| .exrc | vi設定用ファイル。ここにsetを記載すると、設定が保存される。場所としてはホームディレクトリに作ればOK。 |
| :new | ウィンドウの縦分割 |
| :vs | ウィンドウの横分割 |
| ^+w | ウィンドウ間の移動。^はCtrlボタン |
| :tabnew | 新規タブ作成。gtコマンドでタブ間移動できる |
| :r!コマンド | 外部コマンドの実行結果をカーソル位置に挿入 |
| :sh | 一時的にシェルに戻る |
| :echo expand("%:p") | カレントファイルのフルパスを表示。expand以外にも実は色々な組み込み関数があるので、一度見てみると良いかも。 |
| :set binary noeol | 末尾の改行コードを削除する。diff等でNo newline at end of fileが出て困る場合 |
| :set list | 改行コードを表示させる。 |