|
◆ vi エディタとは
viエディタとは、UNIXシステムで古くから利用されているテキストエディタのことです。viエディタで
編集する際、データ入力とデータの保存などを行う場合とではモードが異なります。viのモードには以下
の2種類のモードがあります。 vi コマンドによる vi の起動時はデフォルトでコマンドモードになります。
| モード |
説明 |
| 入力モード |
文字入力を行う場合のモード |
| コマンドモード |
vi エディタのコマンドと解釈するモード。削除、移動、コピー、保存などの操作 |
vi の構文は以下の通りです。-Rを指定することで読み取り専用として開くことができます。
◆ 構文 : vi [ -R ] [ ファイル名 ]
◆ モードの切り替え
コマンドモードから入力モードへは以下の入力キーを押すことで切り替えることができます。
【 コマンドモードから入力モードへの切替 】
| 入力キー |
説明 |
| a |
カーソル位置の後に文字を入力できるように、入力モードへ切り替え |
| A |
カーソル位置の行末に文字を入力できるように、入力モードへ切り替え |
| i |
カーソル位置に文字を入力できるように、入力モードへ切り替え |
| I |
カーソル位置の行頭に文字を入力できるように、入力モードへ切り替え |
| o |
カーソル位置の行の下に空白行を挿入して、そこに入力できるように、入力モードへ切り替え |
| O |
カーソル位置の行の上に空白行を挿入して、そこに入力できるように、入力モードへ切り替え |
入力モードからコマンドモードへ切り替えるためにはEscキーを入力します。
【 入力モードからコマンドモードへの切替 】
| 入力キー |
説明 |
| Esc |
入力モードからコマンドモードへ切り替え |
※ ちなみにBIG-IPデバイスで vi を実行すると、デフォルトで入力モードになっています。
◆ コマンドモードでのカーソル移動
コマンドモードでは、以下のキーによりカーソル操作を行えます。
【 コマンドモードにおける vi のカーソル操作 】
| 入力キー |
説明 |
| h |
左矢印(←)キーと同じ意味であり、カーソル位置を1文字、左へ移動 |
| l |
右矢印(⇒)キーと同じ意味であり、カーソル位置を1文字、右へ移動 |
| k |
上矢印(↑)キーと同じ意味であり、カーソル位置を1文字、上へ移動 |
| j |
下矢印(↓)キーと同じ意味であり、カーソル位置を1文字、下へ移動 |
| 0 |
行頭へ移動( カーソルのある行の左端へ移動 ) |
| $ |
行末へ移動( カーソルのある行の右端へ移動 ) |
| H |
画面の一番上の行頭へ移動 |
| L |
画面の一番下の行末へ移動 |
| gg |
ファイルの先頭行へ移動 |
| G |
ファイルの最終行へ移動 |
| nG |
ファイルのn行目へ移動 ( :n でも同じ ) |
◆ コマンドモードでの vi 編集と vi 検索
データ編集において、文字列の削除、コピー、貼り付けなどを行いたい場合は以下のキーを入力します。
【 コマンドモードにおける vi の編集 】
| 入力キー |
説明 |
| x |
deleteと同じ意味であり、カーソル位置の文字の削除 |
| X |
Backspaceと同じ意味であり、カーソル位置の前の文字の削除 |
| dd |
カーソル位置の現在の行を削除 |
| dw |
カーソル位置から次の単語までを削除 |
| yy |
カレント行のコピー |
| p (小文字) |
カーソル位置の後(右側)にコピーしたものを貼り付け |
| P (大文字) |
カーソル位置の前(左側)にコピーしたものを貼り付け |
| r |
カーソル位置の1文字を置換 |
【 コマンドモードにおける vi の検索 】
| 入力キー |
説明 |
| /文字列 |
カーソル位置からファイル末尾に向かって、指定した文字列の検索 |
| ?文字列 |
カーソル位置からファイル先頭に向かって、指定した文字列の検索 |
| n |
上記の検索 ( /文字列、?文字列 ) による次の文字列の検索 |
| N |
上記の検索 ( /文字列、?文字列 ) による次の文字列の検索 ( 逆方向 ) |
◆ コマンドモードでの vi の終了方法
テキストの入力が完了して、vi を終了する
ためには以下のコマンドで終了を行います。
以下コマンドは行編集モードと呼ばれており
最初に:を入力した上でキー入力を行います。
色々と紹介していますが、よく使用される
キーは、設定保存して終了させる wq!と、
設定保存せずに終了させる q!の2つです。 |
|
| 入力キー |
説明 |
| :q |
編集データを保存せずに終了 ( 保存するかどうかの確認がある ) |
| :q ! |
編集データを保存せずに強制終了 |
| :w |
編集データの内容でファイルを上書き保存 ( エディタは終了しない ) |
| :w! |
編集データの内容でファイルを強制的に上書き保存 ( エディタは終了しない ) |
| :wq |
編集データを保存して終了 |
| :wq ! |
編集データの内容でファイルを強制的に上書き保存 ( エディタは終了 ) |
| ZZ |
編集データを保存して終了 ( :wq と同じ ) |
| :e! |
最後に保存した内容に復帰 |
| :r ファイル名 |
ファイルの内容を現在の行以降に読み込み |
| :! コマンド |
vi を終了せずにシェルコマンドを実行 |
| :r! コマンド |
シェルコマンドの実行結果の挿入 |
|