エディタ遍歴−またはいかにして私は vim を使用するようになったか

http://risky-safety.org/zinnia/d/2004/12/#20041216-t0-h1-p0を読んで。


初めて触れたエディタは Windows 3.1 のメモ帳だったと思う。あの頃は C-Right で単語移動などできなかったように思う。MS-DOSの sedit も何度か起動してみたことはあったが、まともには使わなかった。
C プログラミングを始めて秀丸を使ったときはオートインデントと構文強調に感動した。
その数ヶ月後に Windows マシンを手放し、Linux を使うようになった。秀丸と同等の機能を持ったエディタを探したが見つからなかった。
Unix には、拡張性に富むが遅い Emacs と、軽いが貧弱で操作法が独特の vi というエディタがあると知ったとき、私は Emacs を使おうと思った。拡張性は重要だと思ったし、周りの人はみな Emacs を使っていた(といっても elisp を書くような人はいなかった)。
実際使ってみると、確か ThinkPad X21 で Gnome 上だったが遅さはほとんど気にならなかった。しかし、あるとき事件が起きた。保存終了しようと C-x C-c を押したところ、書き上げたテキストが全て失われてしまった。普段は出るはずの「modified buffer 云々(yes/no)?」という冗長なメッセージが出ずに Emacs が終了しまったのである。多分スクラッチバッファにでも書いていたのだろうが、そのときの私には何が起こったか知る由もなかった。
その後、Emacs を使っていると "#" で始まる変な名前のゴミファイルができたり、セグフォったりするので、Emacs の再インストールを試みた。定石どおりソースから

./configure
make

したのだが、何度やり直しても途中で失敗する。シェル変数 CDPATH を設定していたのが原因だった。
そんなことが重なり、私と Emacs は相性が悪いのだと悟るにいたって vi を使ってみることにした。
どこで知ったのか忘れたが、当時バージョン6.1だった vim をインストールし、使い始めた。
最初の1週間でなんとか基本的な操作ができるようになり、3週間で hjkl に違和感がなくなり、2ヶ月たつころに .vimrc を書いてだいたい望むとおりの設定ができるようになった。半年後に手放せなくなり、1年後には vimを愛するようになっていた。
vim をより知るにつれて、vim の欠点が目につくようになった。vim、というよりむしろ全てのテキストエディタは拡張性を重んじスクリプト言語で書かれるべきだという考えは今も変わらない。
最近はたまに ed や ex、edlin で遊んでいる。
コマンドラインでのバッチ置換はいつも sed で行う。ちょっと複雑な編集になるとすぐ ruby を使うのだが、私にとってsed == 置換とシナプスがつながってしまっているらしい。
Windows 上、それも他人のマシンで操作するときはマルチバッファよりSDIの方が使いやすいような気がする(なぜだろう?)。