2012-07-24

エディター戦争

GNU/Linux環境に移行して数カ月たった。当初危惧していた、GNU/Linuxは難しいのではないかとか、使い物にならないのではないかという恐れは、全て杞憂に過ぎなかった。ただ、文化の違いというのはある。

たとえば、私が不自由なWindowsを使っていたときは、IDEを重視していた。IDEとは、エディタ兼ビルドシステム兼デバッガー兼バージョン管理システム等等。ところが、GNU/Linuxに移ってからというもの、どうもそういう考え方はしなくなった。エディタはエディタで、ビルドシステムはビルドシステムで、デバッガーはデバッガーで、バージョン管理システムはバージョン管理システムとして、別々に使うようのが自然であるように思われる。

特にエディタだ。最初は、geditを使っていた。というのも、馴染みやすいテキストエディタであるからだ。Ctrl+Cでコピー、Ctrl+Xでカット、Ctrl+Vでペーストなどといった、ごく一般的なキーボードショートカットを提供している。特に動作が重いという事もないし、無難なエディタだ。ただ、どうもgeditは使っていて退屈だ。ここはやはり、宗教戦争を起こしていることで有名なあの二大エディタ、すなわちvimとemacsも試してみるべきだろう。

まずvimを触ったが、モードという概念は馴染めない。そこで、emacsを使って見ることにしたが、このemacsというのは、やたらと機能のツギハギを重ねたアボミネーションとも呼ぶべきシロモノに成り下がっている。まず、emacsのデフォルトは堪えられないほど苦痛だ。C++に、GNU風のコーディングスタイルを強要するのだ。すなわち、インデントが空白2文字という、悲惨なコーディングスタイルだ。しかし、設定を変えようにも、あまりにも膨大すぎて、いったいこの気に入らない機能は、どの設定に対応しているのか、さっぱり分からない。ドキュメントを読みつつ、とりあえず一つ二つ潰したが、キリがない。だいたい、なんでInput Methodからして独自のものを使っているんだ。歴史的経緯はともかく、もはやInput Methodが独自のものであることは障碍でしかない。

結論として、emacsはダメだ。デフォルトの挙動がことごとく目障りだ。

さて、改めてvimを触ると、デフォルトの設定がそれほど悪くはない。少なくとも、emacsのように激しい自己主張をする機能はない。モードの存在と、少し変わったキーボードショートカットが慣れないが、その他は問題がなさそうだ。

二大エディターを使う前の印象では、emacsというのはやたらと多機能で、vimは質素なエディターだと考えていた。ところが、実際に使ってみると、emacsは機能のツギハギだらけでカオスなことになっているエディターで、vimというのは多機能なエディターだという事が分かった。最初は慣れなかったモードという仕組みも、マウス無しでテキスト編集作業をするには、これが一番なのだと感心している。モードがないとなると、emacsのようにやたらと複数のキーを組み合わせなければならない。vimでは、モードの存在によって、そのような複数のキーを押さなくても、一般的なテキスト編集作業ができるようになっている。

というわけで、私の中でのエディター戦争は、vimが勝利した。

4 comments:

Anonymous said...

週休戦争というのは宗教戦争のタイポでしょうか。

vimrcにset mouse=aで疑似端末でもマウスで
スクロールやクリップボードへ(から)コピペできるので地味に楽です。
vimmer的には邪道かもしれませんが..。

江添亮 said...

どうもUbuntuのvimだとそれがデフォルトのようなのですが。

江添亮 said...

いや、違った。

江添亮 said...

うーん、マウス利用は一長一短だな。