vi
読み:ヴィーアイ
外語:vi: visual
多くの
UNIX
に標準添付されている、スクリーン指向の
テクストエディター
。
目次
概要
特徴
visualモード
キー操作
Bill Joy
クローン
現状
System V
FreeBSD
Linux
概要
大元は、それ以前の標準だったラインエディターの「
ed
」で、その拡張版「ex」の「
vi
sualモード」として作られている。
元がラインエディターであるためか、参照(カーソル移動可能)状態と、編集可能状態を切り替えて使用する「モード型エディター」であるのが最大の特徴である。
特徴
visualモード
元々viは、exのコマンドラインでvisual又はviと入力するとviモードになる、というものだった。viという名前で起動された場合は、最初からvisualモードになる。
従って、最初からviとして起動していても、Qコマンドでexに戻ることができる。
キー操作
viは、hjklによるカーソル移動も含め、殆どの操作を
ホームポジション
で出来る、特異な操作性を持っている。
viはhjklでカーソルを←↓↑→にそれぞれ移動する。なぜhjklなのかというと、作者Bill Joyが使っていたADM-3aというCRT端末のキーボードにはhjklのキーにカーソルの矢印が刻印されていたためである。端末機能としては
Ctrlキー
と共に
押下
するとカーソルが移動可能だったが、viではCtrlキーなしで移動可能に実装したわけである。
もう一つUNIX界隈で有名なエディターに
Emacs
があるが、こちらはCtrlを多様するため、普段viを使う人は
Emacs
を「指がつるエディター」と呼び嫌っている。viとEmacsのどちらが素晴しいかについては昔から「聖戦」が繰り広げられているが、Emacsファンでも、簡単な編集作業ではviを使う人も多い(巨大なEmacsよりも小型のviの方が起動が速いため)。
Bill Joy
viは熱狂的なファンにより未だに現存しているが、原作者である
BSD
を作った一人「Bill Joy」(後に
Sun Microsystems
に所属)は作った事を後悔しているという。
彼の言葉によると「viがこんなに普及すると分かっていたら、私はviを作らなかっただろう」。
実は、当初は「マルチウィンドウ」で「プログラマブル」なエディターにする予定だったのだが、作る途中で
ディスク
とバックアップテープがクラッシュしたため、3つほどバージョンを戻した物が現在世に出ているviであると言われている。
クローン
viは、恐らく全てのUNIXおよびUNIX系システムに含まれている。
但しそのviは、オリジナルのviとは限らず、実際には互換品あるいは拡張版である可能性が高い。
Vim
‐ Vi IMproved (Linuxなどでは標準添付されている可能性が高い)
nvi
‐ FreeBSDの標準添付
elvis
現状
System V
System V
UNIXでは、「/bin/ex」「/bin/vi」「/bin/view」は共に
ハードリンク
されている。
FreeBSD
FreeBSD
では場所が違うが、同様に「/usr/bin/ex」「/usr/bin/vi」「/usr/bin/view」などは共にハードリンクされている。
ちなみにFreeBSDの/usr/bin/viは、ただのviではなく「
nvi
」である。
Linux
Linux
では、
Linuxディストリビューション
ごとに差があるが、次のような実装がある。
/bin/vi が実体で、/bin/ex と /bin/view は共に、/bin/vi に対するシンボリックリンク
/usr/bin/vi、/usr/bin/ex、/usr/bin/view、/usr/bin/vim、/usr/bin/vimdiff、/usr/bin/rview、/usr/bin/rvim は
/etc/alternatives
/* へのシンボリックリンクで、それら全てが更に実体である /usr/bin/vim.basic へのシンボリックリンク
現在の主要なLinuxディストリビューションでは、viはただのviではなく「
VIM - Vi IMproved
」であり、Vimを採用しているディストリビューションでは後者となっていることが多い。
再検索