スクリーンエディタでありラインエディタでもある
viエディタは『スクリーンエディタ』に分類されるということはすでに説明しました。 ただし、viエディタは、『ラインエディタ』の機能も持っています。
つまり、viエディタは、スクリーンエディタでありラインエディタでもあるということです。
viエディタにラインエディタの機能が含まれているのは、viエディタが、ラインエディタの『edエディタ』を祖先に持つからです。
edエディタからexエディタが作られた
1970年代に、当時UNIXの標準エディタであったedエディタ(ラインエディタ)に、スクリーンエディタの機能を加えた新しいエディタが開発されました。
開発された新しいエディタは、ラインエディタでありながらスクリーンエディタの機能も持っていました。 起動時はラインエディタとして動作するのですが、いつでもスクリーンエディタに切り替えることができたのです。
そのエディタの名前は『exエディタ』で、内蔵しているスクリーンエディタは『Visual Mode』と名付けられました。
起動時にVisual Modeで起動できるように
exエディタの公開から数年後、exエディタに『viエディタ』と呼ばれる別名が与えられました。 具体的には、シンボリックリンクによって vi という別の名前で起動することができるようになりました。
これにより、起動コマンドは "ex" と "vi" のどちらでもよくなりました。 ただし、どちらの名前で起動したかによって初期モードが変わります。
"ex" として起動した場合には初期モードはラインエディタとなり、"vi" として起動した場合には初期モードはスクリーンエディタになります。
viエディタのexコマンド
viエディタは、exエディタでもあります。 よって、スクリーンエディタとしての機能もラインエディタとしての機能も使うことができます。
ラインエディタが有用な場面は多い
文書を見たままには編集できないラインエディタですが、決して時代遅れのテキストエディタではありません。 多くの機能でスクリーンエディタの方が効率的ですが、作業内容によってはラインエディタの方が素早く編集できます。
例えば、5行目から17行目まで削除するという場合には、
5,17d
とするだけで、5行目から17行目までが削除されます。
上記の例以外にも、ラインエディタの方が効率よく作業できる場面は多くあります。 viエディタで文書を編集する場合には、ラインエディタの機能もよく使用します。





