ex モード
vi はその前身に ed と ex という二つのエディタをもっていて、それぞれ
ラインエディタ = ed, ex
スクリーンエディタ = vi
というふうに分類されている。
そのため vi はこれら二つのエディタの操作方法を受け継いでいる。
たとえば入力モードへの切替えのとき使う a と i は ed から引き継いだものだ。その他にも使えそうな操作法に undo がある。
これは直前におこなった作業を取り消せるという便利なものである。やり方は、
まず Esc キーを押す。
つぎに u のキーを押す。
これだけである。簡単だネ。
また、カーソルの移動に使う h, j, k, l もそうだ。どれもすべてコマンドモードで使われている。
では vi が ex エディタから引き継いだのはなにかというと、ただ一つ、
コマンドモードのときコマンドの前にコロン(:)をつける
ということである。これが ex モードである。
vi の終了のときに使う :wq や :q! がそうである。入力モードの途中で、それまでの書き込み分を保存するには :w とタイプすればいい。
ほかに使って便利だと思ったものに :r というのがある。同じ文面を多くのファイルに書き込むときに使う。まず追加する文章を新しいファイルに書き込んで保存する。あとは、
vi で元のファイルを開く。
カーソルを、その下に追加する文面を挿入する行にあわせる。
:r add_file.txt とタイプする。
あとは保存して終了。
これで、いちいち同じことを繰り返さずにすむ。
ex モードには、他にもコピー&ペーストや行番号の設定等もあるけど、プログラミングをはじめるとき(?)にでも覚えればいいか . . .