2023年12月17日日曜日

「Vim」が根強く愛されるエディタである理由

わたしにプログラムを教えてくれたHAL研究所の金井さんは、viかemacsどちらかを覚えてくれと言ってきました
当時わたしはスーパーファミコンの開発で、
SONYのNEWSにスーファミ開発機材を接続した環境で開発していました

最初はviを使っていました

金井さん曰く、viはexエディタのフルスクリーン版だとの事で、どんなにプアなunixでもviが入ってないと言うことはない

exは一ラインのみ表示する、昔のワープロのような表示領域が少ない状態で編集できるエディタで、viはそれを一画面分表示できるようにしたものという事でした

あとunix環境によってはemacsが入ってない事がある
と言う事でしたので、わたしはviを選択して、スーファミのアセンブラを打ち込んでいました

当時はHAL研究所の作ったCコンパイラがあり、コアな部分はlispで作られていて、あらゆるCPU向けのアセンブラを吐き出す事が出来るとの事

わたしは恵まれたことに、Cで打ち込んだコードからどのようなアセンブラが出力されるのかを確かめながら、慣れないスーファミのアセンブラを学ぶことが出来ました

いわゆるトップダウンで、あの難解なスーファミのモード7もアレコレ試す事が出来ました

かなり意外でしたが、当時のゲーム機は全てvsyncやhsyncの割り込みでスプライト描画やスクロール処理などをするプラグラムで動いています

この割り込み中に処理が出来なければ、処理落ちと言う現象になります

最初はviを使っていたのですが、隣の金井さんはemacsでメールを開いたりしながら作業しています

それがめちゃくちゃ羨ましくなり、わたしもemacsに移行しました

しかし、emacsでもviモードでした

viに慣れた人にはホームポジションから手を離さずに打ち込めるviスタイルの方が手への負担が少ないのです

しかしemacsなら画面分割出来るし、terminalも開く事が出来ます

ここでも金井さんに教わりましたが
unixで作業する人は、ターミナルからemacsを立ち上げ、すべての作業をemacsから行い、emacsを終了して作業を終えるとの事でした

なるほど確かにemacsからすべて出来ました

これは、スーファミ現役時代の話です
この話自体がかなり昔の話なのですが
その当時から見ても、
昔の人は本当に恐ろしいと感じました

今の時代はvimになったようですが
かつて、emacsクローンの流行った時代がありました

vimから入るのもありですが
lispで作られたemacsも味わって欲しいと思います
当時lispで動くrogueライクゲームをプレイして、
風来のシレンが出た時は、え?これパクリじゃんて思いました

まぁ、vimというか、viが使われるのは
何もエディタが無い環境でも
viは動くでしょうと言う安心感があるため
とりあえず.bash_profileなどを編集する際などは普通にviです
nanoとかよく分かりません



0 件のコメント: