(IT) viエディター

1980年代でも、CPUをシェアして使うという考え方は一般的だった。
汎用機もUNIXも一台も「ホスト」にダム端末と言われていたグリーン
一色のディスプレイをもつ端末がたくさん繋がれており、操作する人は
時々まわってくるCPUの順番で処理を許された。
こんなやつ。

CPUは文字の入力、プログラムの実行、コンパイルなど様々な処理に
対して「時々まわってくるもの」だった。ヒナがたくさんいる親鳥が
一斉に口を開けてピーピー言ってるヒナに順番に餌を与えるように。

オレの最初の端末もSun4-330にRS232cで接続されたtty端末だった。
いまでは/dev/tty0とかは、マルチウインドウの1枚のウインドウに割当
られているが、当時はダム端末の一台に割り当てられていた。
config.sysやautoexec.betを書いていた世代だったので、.cshrcや.loginを
書くことには抵抗がなかった。
当然、.cshrcも.loginもviで編集せざるを得なかったわけである。

だから、カーソルを移動するだけでCPUを使うのは、時間の無駄だった。
スクリーンは10行ほどスクロールすると動きを止め、数秒後にまたスクロール
した(感覚には個人差があります)。
viはそんな時代に開発されているので、いかにすくないキータッチで目的の
編集ができるかを主眼に開発されていると行っても過言ではなかった。
「カーソルを行末へ移動する」「カーソルを最終行へ移動する」などは
「$」と「G」に割当られているし、10行ヤンク(コピー)してペーストも
「10yy」と「p」で実現される。文字列の検索も置換も秀逸だ。

ながながと書いたのは、若い人も是非viを修得して欲しいということ。
サーバー管理でよくあることは、とあるプロセスがメモリを食いつぶして
今にも息絶えそうなサーバーにログインさえできれば、問題のプロセスの
設定ファイルを書き直して、プロセスの再起動をする、というようなことが
できる。設定ファイルをftpで落としてきてローカルのメモ帳で直して再度
アップロードするなんてするなら、ftpdも動いてないといけないし、ポート
も開いてないかもしれない。

以前から採用の面接の時、「エディターはviです」という子は贔屓するように
しているのはナイショだ。