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: |