FreeBSD(98) viの操作

 viは、ほとんどすべてのUNIX系OSに標準で備わっているテキストエディタである。
 マウスを使って直感的に操作する現在のエディタと比べると、その操作性は劣悪なことこのうえない。けれども、ちょっとした定義ファイルの編集などでは、これを使わざるを得ない場面が多々ある。

 そこで、私自身の忘備録として、viの主な操作方法を書き留めておくことにした。

起動

% vi filename

コマンドモードとテキスト入力モード

 viには、コマンドモードとテキスト入力モードという2つのモードがある。テキストへの文字の入力はテキスト入力モードで行い、その他の操作はすべてコマンドモードで行う。
 viを起動した時点ではコマンドモードになっているので、キーボードを叩いてもテキストへの文字入力はできない。昨今のエディタに慣れた人間は、ここでいきなり面食らうことになる。

テキスト入力モードへの切り替えと文字入力

 実際に文字を入力するには、次のいずれかのコマンドを与えて、テキスト入力モードにする必要がある。

コマンド 意 味
i  カーソルの前からテキストを入力する。
a  カーソルの次の位置からテキストを入力する。
I  行の先頭からテキストを入力する。
A  行の末尾からテキストを入力する。
o  カーソルのある行と次の行との間にテキストを入力する。
O  カーソルのある行と前の行との間にテキストを入力する。

 上記のいずれかのコマンドを与えたあとは、キーボードから入力される文字は、すべてテキストに入力される。
 編集の終了(ファイルの保存)やカーソルの移動は、コマンドモードで行う。テキスト入力モードからコマンドモードに移行するためには、[ESC]キーを押す。

 なお、viでは、基本的に[ESC]キーを押すとコマンドモードに戻るので、コマンドモードなのかテキスト入力モードなのかわからなくなった場合も、とにかく[ESC]キーを押せばよい。

カーソル移動

コマンド 意 味
j  カーソルを次の行に移動する。
k  カーソルを前の行に移動する。
l  カーソルを次の文字に移動する。
h  カーソルを前の文字に移動する。

 昨今のエディタのように矢印キーは使わないので、これまた慣れないと戸惑ってしまう。コマンド名から機能を連想することは難しいけれど、よーく見ると、キーボードの右手ホームポジション付近にあるキーが使われていることがわかる。つまり、"hjkl"の並びは、"←↓↑→"であると記憶すればいいわけだ。

 テキスト入力中にカーソルを移動する必要が生じた時は、いったん[ESC]キーを押してコマンドモードに移行し、カーソルを目的の場所まで移動する。そして更に前述のコマンドでテキスト入力モードに切り替え、文字入力を続けることになる。(面倒くさい!!)

消去

コマンド 意 味
x  カーソル位置の1文字を削除する。
D  カーソル位置から行末までを削除する。
dd  カーソルのある行を削除する。

ファイル操作

コマンド 意 味
:w  ファイルに保存する。
:w filename  ファイルに名前をつけて保存する。
:q  viを終了する。
:wq  ファイルを保存して終了する。

 ここに書いた以外にも、cut & pasteや文字列検索もできるけれど、ここに挙げた操作を覚えておけば、最低限のテキスト編集は可能であろう。

     
   ここに記載した内容は、私が独自に調査したものが含まれます。結果については責任を負いかねますので、あなたの自己責任でご利用ください。  
     

戻る

Copyright by Heian Software Engineering (C)H.S.E. 2003 Allrights reserved.
2003年3月13日 制作 2003年3月13日 修正