このマニュアルはGNU Emacs,すなわち先進的でドキュメント機能を備え,カス タム化機能と拡張性に富んだ実時間画面エディタのGNUにおける実現について書 かれたものです(GNUの`G'は発声してください).
Emacsは画面エディタです.つまり編集しているテキストが画面で見え ていて,それは入力したコマンドにしたがって自動的に更新されています. See section 画面構成.
Emacsは実時間エディタです.つまり画面更新が頻繁に行なわれます. 通常1文字かまたは一組の文字を入力するごとに更新されます.これによって編 集中に頭で記憶しておかなくてはならない情報を最小限にします. See section 編集の基本的なコマンド.
Emacsは先進的です.Emacsの機能は単純な挿入,削除にとどまらず,テキスト のつめ込み,プログラムの字下げの自動化,同時に2つ以上のファイルを見るこ と,文字,語,行,分,段落,ページ,いくつかの異なったプログラム言語の式, コメントを単位として扱う機能を提供します."段落の最後に移動する"という 意味の1つのコマンドを入力することは,単純なカーソル移動コマンドを使って その位置へ移動するよりずっと簡単です.
ドキュメント機能とは,いつでも定められた文字Control-hを入 力すればオプションの説明が得られることをいいます.また,コマンドの働きの 説明を得たり,ある動作に適したコマンドを探すこともできます.See section ヘルプ機能
カスタム化とは,Emacsコマンドの定義をいくらかの点で変えることが できることをいいます.たとえば,使っているプログラム言語でコメントが `<**'で始まり`**>'で終るとすれば,Emacsでコメントを扱うコマン ドが,これらの文字列を用いて動作するようにすることができます (see section コメントの操作).また,別のカスタム化は,コマンドセットの再配置です. たとえば,4つの基本的なカーソル移動コマンド(上,下,左,右への移動)のキー をキーボード上でダイヤモンドの形に並べたいなら,そうすることができます. See section カスタム化の方法.
拡張性とは単なるカスタム化にとどまらず,まったく新しいコマンドを 追加することができることをいいます.このためには,Emacsの持つLispインター プリタで実行するLispプログラムを書きます.Emacsは,オンライン拡張可能な システムです.つまり,このシステムは多くの相互に呼びあう関数からできてい ますが,そのうちどれでも編集セッションの途中で再定義できます.Emacsの編 集コマンドの大部分はLispで書かれています.いくつかのコマンドは,効率のた め例外的にLispではなくCで書かれています.拡張はプログラマでなくてはでき ませんが,拡張したところはすべての人が使えるようになります.