Emacs
読み:イーマックス
外語:Emacs: Editor/Editing MACroS

 テクストエディターの一つ。UNIXの世界では、viと並んで代表的なエディターの一つである。
目次

概要
 このソフトウェアは比較的歴史が長く、様々な派生物の分岐や融合をしながら、極めて多機能なソフトウェアとなっている。
 一応テクストエディターではあるが、もはや単なるエディターの概念を超えた、一つの環境、一つの世界を作り出すフレームワークと化している。

歴史

前史
 今のGNU Emacsにはプログラミング言語Lispが搭載されているが、これがLispなのは、GNUのStallmanがLispの本家MIT AI Lab.出身で、彼自身がLispプログラマーだったからである。
 さて、StallmanがMIT AI Lab.にいた当時、viというよりはその前のed並のエディターTECOという、PDPで動作するラインエディターがあった。
 このTECOをスクリーンエディターに改造し、更にマクロ機能を搭載した。これがやがて、Emacsという名前になる。
 Emacsは様々な派生を生み、遂にUNIX用として全面的に書き直された版は、その遥か後にJavaにより名をあげるJames Goslingによって作られたGosling Emacsであった。
 Gosling EmacsはCで書かれていた。そして拡張言語として、Mocklispと称するLispもどきの言語が搭載されていた。

GoslingとStallman
 当時Goslingは、Gosling Emacsのソースの自由な利用を認めていた。
 ゆえに、StallmanたちはGosling Emacsのソースを取り込んだGNU Emacsを作り、またGoslingも、その恩恵を享受しGosling Emacsにフィードバックしていた。今となっては考えにくいことだが、当時のStallmanは、口約束でも充分だと判断していたようである。
 なお、当時のGNU Emacsのバージョン番号は1.XXというありふれた形式だったが、1.12まで来たところでStallmanは思った。このままだと、いつになってもバージョン2にならない。そこで、1.12の次は、頭の「1.」を取り、思い切って「13」にしてしまったのである。ゆえにEmacs 1.12の次はEmacs 13であり、バージョン2〜12までは存在しない。

GNU Emacs
 1984(昭和59)年、StallmanはGNUプロジェクトを立ち上げた。
 そんなある日、Goslingはある企業にGosling Emacsの権利を売ってしまったのである。その上、その企業はGosling Emacsのソースの自由な利用を拒否したため、Gosling Emacsのソースを使っていたGNU Emacsはフリーソフトウェアとしては維持できなくなり、作り直しを余儀なくされた。もちろん、その使えなくなったソースには、かつてStallmanが書いてフィードバックされたものも含まれている。
 Stallmanはフリーソフトウェア版Emacsを作るべく、新しいGNU Emacsを作りを始めた。ここでまずStallmanは、MocklispなるLispもどきを、本物のLispインタープリターに置き換えてしまった。そして殆ど全てのコードは新しいものに置き換わった。
 1985(昭和60)年にリリースされたGNU Emacs 16は、Cで書かれており、Gosling Emacsと同様にUNIXで動作し、更に「フル機能のLisp」が搭載されていた。ゆえに、すぐさまGosling Emacsと置き換わり、GNU EmacsはUNIXの標準Emacsの地位を確立したのである。
 そして、この苦い経験を元に1989(平成元)年、GNU GPL Ver.1が発表されたのである。
 ソース公開の義務や、ソースが誰でも自由に使える、というGPLに込められた思想は、このようなことが二度と起こらないようにという、Stallmanの強い思いが込められたものだった。GPLはGNU勃興時からあったのではなく、こうして後から生まれたものである。

特徴

多機能
 カスタマイズ性が高く多機能で、UNIXやLinuxユーザーの間では人気も知名度も高い。
 エディターにまるまる一つのプログラミング言語(Emacs Lisp)を内蔵し、それを用いてエディター機能が拡張できる。
 そのためただのエディターだけでなく、メールリーダやニューズリーダ、Webブラウザーなどとしても利用可能。実際、Emacs一つで全ての作業を行なう人もいる。

現状
 GNU Emacsは今も現役で、改良が続けられている。
 Emacsから派生した多国語対応のMuleは、GNU Emacs 20以降やXEmacsで機能が取り込まれ、多国語の利用が可能となった。かくして英語以外にも、欧米各国の言語日本語、支那語、ロシア語など30以上の言語が扱える。
 但し、文字を右から左に書くような言語(アラビア語など)への対応は、Emacs 21でもまだである。

キー操作
 独特のキー操作のため、好みが分かれる。
 例えば、Emacsを終了するにはCtrl-x Ctrl-c (Ctrlキーを押しながらxとcを続けて押す)、といった操作になる。
 特に、普段viを使う人は、Emacsを「指がつるエディター」と呼び嫌っている。viとEmacsのどちらが素晴しいかについては昔から「聖戦」が繰り広げられているが、Emacsファンでも、簡単な編集作業ではviを使う人も多い(巨大なEmacsよりも小型のviの方が起動が速いため)。

批判もろもろ
 Emacsの操作方法を批判する人は、Emacsのことを「Escape Meta Alt Control Shift」の略だという。
 仕様の巨大さを批判する人は、次のように言う。
 なお、近年ではコンピューターの処理能力(特にメモリーの容量)が大幅に向上したため、仕様の巨大さに対する批判は既に過去の話である。最近では、Emacs並みの巨大ソフトウェアはいくらでも存在する。
 この影響か、最近の巨大アプリケーションに慣れた人は「Emacsって軽いですね」などと口走り、年寄りを困惑させている。

種類
 全てのEmacsはTECOを起源とする。そのようなEmacsで、UNIX用として現役のものは、GNU Emacsと、派生版のXEmacsの二つである。
 このような一連を総じる語として、Emacsの複数形「Emacsen」なる語が作られた。
 このほか、Microsoft Windows版に、次のようなソフトウェアがある。

関連ソフトウェア

再検索