コンピューターの歩みはテキストエディターのそれと同じです。テキストファイルの作成や編集に欠かせないテキストエディターは、現行のOSであるWindows 7のメモ帳やMac OS XのTextEditのように標準搭載されていることからも、その重要性を理解できるでしょう。今回の「世界のテキストエディターから」は、Windows OS上で動作する世界各国のテキストエディターとして、GNU Emacs風の設計が魅力で数年ぶりのバージョンアップとなった「xyzzy」を紹介します。

GNU Emacs風ながらも動作が軽快な「xyzzy」

そもそもテキストエディターはユーザーによって使用目的や用途が異なります。筆者のように文書作成が主目的という方や、ソースコードの記述やアドオン機能を併用した全体管理に用いる方、サーバーのログファイルを閲覧するためのビューアとして使う方もおられるでしょう。このように用途が異なるためテキストエディターの作者は、自身が使いやすいツールを念頭に置いてソフトウェアの開発を行うのではないでしょうか。今回紹介する「xyzzy」は、前回紹介したGNU Emacs風の味付けをふんだんに用いた国産のテキストエディターです。

「xyzzy」

ドキュメントで確認すると最初のバージョンは約15年前の1997年1月。作者である亀井哲弥氏がいつからxyzzyのアイディアを持ち、開発に着手したのかはわかりませんが、Windows 98も登場していない頃です。Windows 3.11の時代から「GNU Emacs for DOS」などWindows OSにGNU Emacsは移植されてきましたが、巨大な構造から小気味よく動作するものではありませんでした。そのため同氏は、当時のコンピューターで日本語が使用可能ながらも実用レベルに達するテキストエディターを目指されたのではないでしょうか。

バージョン0.0.0.20から始まった開発は破竹の勢いで進み、GNU Emacs風の環境をWindows OS上で使用できる優れたテキストエディターとして人気を博したのは、述べるまでもありません。GNU Emacsと同じくCommon Lisp系に含まれるマクロ言語を独自実装したのも功を奏したのでしょう。そんなxyzzyですが2005年12月にソフトウェアの使用ライセンスをMIT License(X11ライセンスと称されることもある)に変更し、オープンソース化されました。

このオープンソース化したバージョン0.2.2.235を最後に亀井氏による更新は行われなくなりましたが、有志らによって開発が進められており、Unicode対応を進めているxyzzy+やマルチフレーム機能に対応したxyzzy mumurik版、バージョン0.2.2.234をベースに複数の機能追加とバグフィックスを行ったxyzzy-022などもあります。

本来であればxyzzy-022を紹介すべきかと思いましたが、執筆時点ではソースコードしか配布されていません。Microsoft Visual C++ 2010 Express Service Pack 1やMicrosoft Windows SDK for Windows 7 and .NET Framework 4のインストールが必要なため、xyzzyを気軽に試してみたいという方には今のところ不向きです。そのため、今回はバイナリファイルを配布し、現在も精力的に開発が進められているxyzzy mumurik版をピックアップすることにしました(図01)。

図01 マルチフレームに対応したxyzzy mumurik版の公式サイト。本家との違いやバージョンアップ手順などが記載されています

xyzzy mumurik版は、複数のウィンドウを起動するウィンドウマルチフレーム機能を備えつつ、USBメモリからの起動を前提にした拡張や自動更新を行うツールが用意されており、xyzzyユーザーの間でも定評があります。その一方で、一部のLispパッケージが動作しませんが、作者も検証結果を自身のページに対応情報などをまとめていますので、参考にしてください。

どちらかと言えばxyzzyはマニアックなユーザー向けのテキストエディターですが、それでも多くのユーザーに愛されています。一度設定を終えてしまえば使い続けることができるGNU Emacsと同じ設計からか、筆者の周りにも愛用者が少なくありません。今回はそんなxyzzyの世界を紹介します。なお、xyzzyの呼称は定まっておらず、そのまま「えっくすわいじーじーわい」とアルファベットを読み上げるのが一般的。作者も「各自好きなように読んでください」とML(メーリングリスト)で述べています。