◆ 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! コマンド |
シェルコマンドの実行結果の挿入 |
|