レビュー:Emacs 22:機能強化で再び注目を集める伝統的エディタ

 GNUプロジェクトのEmacs 22.1が登場して1か月になる。カスタマイズ性と拡張性に優れた高機能エディタの6年ぶりとなる待望のアップデート版だ。本稿では、この新バージョンについて気付いた点を紹介しよう。

 6年ぶりのリリースにふさわしく、Emacs 22.1の変更点のリストは膨大なもので、プレーンテキストで224KBにもなる。新しい機能の大半は、このエディタのコア部分にあたる編集機能ではなく、大小の各種モード ― BibTex編集やLispプログラミングなど、特定の作業向けに作られたモジュール ― に追加されている。ただし、すべてのEmacsユーザがその重要性を認めるであろう改良点も存在する。

 このEmacs新バージョンは、GNU WebサイトのEmacsホームページからソースの形でダウンロードできる。各種ディストリビューションにバイナリとして収録されるには時間がかかるかもしれないが、Emacs 22は開発期間が非常に長かったので、自分の使っているディストリビューション向けのバイナリパッケージが誰かの手ですでに構築されている可能性は高い。それを見つけ出すには、使っているディストリビューションのサポートフォーラムに問い合わせるか、Emacsハッカーたちがうまく自作できたバイナリビルドへのリンクをしばしば提供しているemacswiki.orgで検索するとよいだろう。Emacsに馴染みのない人は、今回新たにリリースされた安定版の名前が、実はEmacs 22.1であることを知っておく必要がある。だが、省略してEmacs 22と呼ぶ人も少なくない。紛らわしいが、この場合はどちらも同じものを指している。

統合と簡素化

emacs22-thumb.png
古いEmacs 21(左)とGTK+を利用する新しいEmacs 22.1(右)

 Linux版の場合、最もわかりやすいEmacs 22の変更点は、GUIツールキットとしてGTK+が使われていることで、統一感に欠けたMotif風のメニュー、ボタン、フォントは姿を消している。メニュー、ツールバーのアイコン、ウィンドウ装飾は、他のGTK+アプリケーションと違和感なく調和している。しかし、これは単なる外観上の変更ではない。ファイルのオープン/保存用のダイアログにGTK+が使われていることで、GNOMEユーザは、ブックマークなどNautilusの優れた機能にアクセスすることができる。

 その他、個々のインタフェースの「現代化」も好ましい形で行われている。今回のEmacsでは、X Windowシステム実行時のドラッグ&ドロップが十分にサポートされている。ファイルを開くにはEmacsの編集ウィンドウに、移動するにはdiredウィンドウにドラッグを行えばよい。マウスホイールのサポートにもいくつかの改善が見られ、ホイールでハイパーリンクをクリックするとリンク先のコンテンツがブラウザで開くようになっている。また、今回のEmacsでは、オペレーティングシステムのロケール設定から言語環境とキーボードレイアウトを自動的に引き継ぐことができる。

 Windows版では、画像、音声、システムツールのヒント、3ボタン以上のマウスが新たにサポートされ、ネイティブアプリケーションのカラースキームが自動的に継承される。

 印刷機能は大幅に更新され、Ghostscriptのビルトインサポートが追加されている。.emacsファイルに「(require 'printing)」という記述を追加して新しい印刷パッケージを有効にすれば、こうした優れた機能が「Print Preview」で利用できるようになる。

 新たな機能をEmacsにもたらすのではなく、既存の機能をEmacs的でない方法で利用できるようにするための変更点もある。例えば、非常によく行われるUIの調整のいくつか(ツールバーの表示/非表示、スクロールバーの位置変更など)は、「Option」メニューから利用可能になっており、Emacs本来のカスタマイズモードに移行するよりもずっと容易に設定の切り換えが行える。

 同様に、切り取り/コピー/貼り付け操作では、従来のキーバインドも健在だが、Ctrl-cでコピー、Ctrl-vで貼り付けといった操作ができる、オプションのCUA(Common User Access)モードも用意されている。また、新しい「ソフトワードラップ(soft word wrap)」は、改行記号を保存しながらもキーボードのカーソルキーによる移動を容易にしてくれる。さらに、マクロの記録、再生をそれぞれF3、F4キーで行うこともできる。

魅力的な目新しさ

 GTK+やCUAのようなユーザビリティ上の改善が行われたことで、新規ユーザが最終的にEmacsに乗り換える気になるかもしれないが、Emacsのベテランユーザもまた、今回のリリースの目新しい部分を評価するだろう。

 新たな開発項目で最もよく話題にのぼる点の1つが、GTD(Getting Things Done)のメモおよびプランニングのモード、Org Modeである。Org Modeを使うことで、GTD利用者はEmacs内部からアクションリスト、コンテキスト、プロジェクトを管理できる。ただし、すべての情報はプレーンテキストファイルに蓄積されるため、他での利用も可能である。

 このリリースでは、ファイルセットの概念も導入されている。ユーザが定義したファイルのグループに対し、検索や編集を一度にまとめて行えるというものだ。これは、対象ディレクトリ内の1つ1つのファイルで個別にsearch-and-replaceを実行する必要がないことを意味する。

 定義済のテキストのフェイスがいくつか存在するので、インタフェース全体をさらにカスタマイズすることもできる。リリースノートには、テキストを目立たなくさせるシャドウフェイスがサンプルとして用意されている。そのため、ファイルを開いたときにミニバッファでシャドウフェイスを使ってディレクトリ名を灰色表示にし、入力したファイル名を目立たせることができる。

 また、プログラマであれば、Python、PHP、Luaのような言語のサポートや優れた文法チェッカFlymakeといった多くの新機能が利用できる。画像の編集、RSSフィードの読み込み、iCalendar互換の予定表、IRCチャットのような、新たな汎用のパッケージも存在する。多言語利用者のためには、多数の新言語、入力手法、文字セット、コード化システムが用意されている。

総括

 Emacs 22.1には紹介すべき点があまりに多く、どう考えてもここですべてを取り上げることはできない。機能強化の多くは、専門的用途に特化されたものである。そのため、Emacs Lispでプログラミングをしない人は、今回のリリースでその作業がどれだけ楽になったかを知ることは決してないだろう。しかし、Emacsの柔軟性には、副作用もある。簡単にアドオンパッケージが作れるので、その数が増えすぎて混乱してしまうことだ。

 私としてはEmacs 22.1の新機能すべてに高い評価を与えたいが、Org Modeのような要素を重視するユーザがそれほどいるとは思えない。だが、今回のリリースでのEmacsのコア部分に対する変更は比較的重要なもので、間違いなく賞賛に値する。GTK+の採用は非常に大きな前進だ。Emacs 21は、最も使用時間の長いアプリケーションの1つだったにもかかわらず、私の環境で動いていた最後の非GTK+アプリケーションになった。これまで一度もドラッグ&ドロップを使いたいとは思わなかったのだが、今では現実に使うようになっている。

 GNUプロジェクトがその名称についてどう感じていようと、Linuxは、現在の市場でUNIXライクなオペレーティングシステムの主流になっている。最新のGUI機能を利用してEmacsを洗練させることは、例えばCDE(共通デスクトップ環境)を知らないくらいに若いユーザの注目を集めるために重要なことだ。私は、Emacs 22と今日のXベースのデスクトップにおけるEmacsの進歩を目の当たりにして感激している。今からEmacs 23の登場が待ち遠しく思えるくらいだ。ただできれば、あと6年も待たずに済むことを願っている。

Linux.com 原文