viコマンド リファレンス
起動・終了
| 動作 | コマンド |
| 起動する。 | vi |
| 指定したファイル名を読み込んで起動する。ファイルがなければ新規作成される。 | vi ファイル名 |
| 正常終了されずに残ってしまった(.swpファイル)を修復用に読み込んで起動する。 | vi -r ファイル名 |
| 終了する。 | :q |
| 内容を保存しないで終了する。 | :q! |
| 内容を保存して終了する。 新規ファイルを何も書かないで「:wq」コマンドを使うと、新規ファイルを作成できる。 |
「:wq」 or 「:wq!」 |
| 内容変更が行われた場合は保存して終了する。 新規ファイルを何も書かないで「ZZ」コマンドを使うと、ファイルは作成されない。 |
ZZ |
モード変更
| 動作 | コマンド |
| コマンドモードに切り替える。 | ESC |
| 挿入モード(カーソルの左へ挿入する。)に切り替える。 | i |
| 挿入モード(カーソルの右へ挿入する。)に切り替える。 | a |
| 挿入モード(カーソルのある行の先頭に挿入する。)に切り替える。 | I |
| 挿入モード(カーソルのある行の最後に挿入する。)に切り替える。 | A |
| 挿入モード(カーソルのある行の上に一行空けて挿入する。)に切り替える。 | O |
| 挿入モード(カーソルのある行の下に一行空けて挿入する。)に切り替える。 | o |
| 上書きモードに切り替える。 | R |
| ビジュアルモード(カーソル位置から文字選択できる。)に切り替える。 | v |
| ビジュアルモード(カーソル位置から行選択できる。)に切り替える。 | V |
| ビジュアルモード(カーソル位置から短形選択できる。)に切り替える。 | 「Ctrl+v」 |
カーソル操作
| 動作 | コマンド |
| ファイルの最初の行の左端へ移動する。 | 「gg」 or 「[[」 |
| 画面の最上行の左端へ移動する。 | H |
| カーソルのある行の1行上の左端へ移動する。 | - |
| 上へ移動する。 | 「k」 or 「Ctrl+P」 or 「↑」 |
| ファイルの最終行の左端へ移動する。 | 「G」 or 「]]」 |
| 画面の最下行の左端へ移動する。 | L |
| カーソルのある行の1行下の左端へ移動する。 | 「RETURN」 |
| ファイルの先頭からn行目の左端へ移動する。 | [n]G |
| 下へ移動する。 | 「j」 or 「Ctrl+N」 or 「Ctrl+J」 or 「↓」 |
| カーソルのある行の左端へ移動する。 | 0 |
| カーソルのある行の左端へ移動する。ただし、左端が空白の時は空白ではない所まで右へ移動する。 | ^ |
| カーソルの左の単語の先頭へ移動する。 | 「b」 or 「B」 |
| 左へ1文字分移動する。 | 「h」 or 「←」 |
| カーソルのある行の右端へ移動する。 | $ |
| カーソルの右の単語の先頭へ移動する。 | 「w」 or 「W」 |
|
単語の末尾へ移動する。 カーソル位置が単語の途中の時は、その単語の末尾へ移動する。 カーソル位置が単語の末尾の時は、次の単語の末尾へ移動する。 カーソル位置が行末の時は、次の行の先頭の単語の末尾へ移動する。 |
e |
| 右へ1文字分移動する。 | 「l」 or 「SPACE」 or 「→」 |
画面操作
| 動作 | コマンド |
| 1ページ分下へ画面を移動する。 | 「Ctrl+f」 |
| 1ページ分上へ画面を移動する。 | 「Ctrl+b」 |
| 半ページ分下へ画面を移動する。 | 「Ctrl+d」 |
| 半ページ分上へ画面を移動する。 | 「Ctrl+u」 |
| 画面を再描画する。 | 「Ctrl+l」 |
| 行番号を表示する。 | 「Ctrl+g」 |
検索
| 動作 | コマンド |
| 指定した文字列を、順方向に検索する。 | / 文字列 |
| 指定した文字列を、逆方向に検索する。 | ? 文字列 |
| 順方向に再度検索する。 | n |
| 逆方向に再度検索する。 | N |
削除
| 動作 | コマンド |
| カーソル位置の1文字を削除する。 | x |
| カーソルの左1文字を削除する。 | X |
| カーソルのある行を削除する。 | dd |
| カーソルのある行からn行削除する。 | [n]dd |
| カーソル位置からその単語の末尾まで削除する。 | dw |
| カーソル位置から指定した文字の位置まで削除する。 | df 文字 |
| カーソル位置から左を削除する。 | d^ |
| カーソル位置から右を削除する。 | d$ |
置換
| 動作 | コマンド |
| カーソル位置の1文字を置換する。 | r |
| カーソル位置の1文字を複数の文字に置換する。 | s |
| カーソル位置の単語を置換する。 | cw |
| カーソルのある行すべてを置換する。 | 「S」 or 「cc」 |
| 大文字と小文字を変更する。 | ~ |
コピー・貼り付け
| 動作 | コマンド |
| カーソルのある行をコピーする。 | 「yy」 or 「Y」 |
| カーソルのある行からn行コピーする。 | [n]yy |
| カーソル位置の単語をコピーする。 | yw |
| カーソルのある行の上に貼り付ける。Xやddで削除したものも貼り付けできる。 | P |
| カーソルのある行の下に貼り付ける。Xやddで削除したものも貼り付けできる。 | p |
ファイル操作
| 動作 | コマンド |
| 上書き保存をする。 | :w |
| 強制保存する。 | :w! ファイル名 |
| 編集中のデータを指定したファイルに保存する。 | :w ファイル名 |
| 現在のファイルを保存し次のファイルを編集 | :wnext |
| 指定したファイルを読み込む。 | :e ファイル名 |
| カーソルのある行の下に、指定したファイルの内容を挿入する。 | :r ファイル名 |
| 指定したコマンドを実行し、その結果を次の行に挿入する。 | :r! コマンド名 |
| 編集ファイルを一覧表示する。 | :args |
結合
| 動作 | コマンド |
| カーソルのある行と次の行を結合する。 | J |
| カーソルのある行とn行目の行を結合する。 | [n]J |
その他
| 動作 | コマンド |
| 直前に実行したコマンドを繰り返す。 | . |
| 直前に実行したコマンドを取り消す。 | u |
| カーソルのある行に対して行った変更をすべて取り消す。 | U |
| シェルコマンドを実行する。 | :!cmd |
| シェルコマンドを実行して、その結果を挿入する。 | !!cmd |
| シェルを呼び出す。 exit等でシェルを抜けていればviに戻る。 | 「:shele」or「:sh」 |
| 行番号を表示する。 | :set number |
| 行番号の表示をやめる。 | :set nonumber |
| RFC-822 日付を挿入する。 | :r! date -R |
| ファイルに関する情報を表示する。 | 「Ctrl+G」 |
| ヘルプを表示する。 | :h |
| コマンドラインウィンドウを表示する。 | q: |
