Next: Indentation, Previous: International, Up: Top
Emacsには、多数の選択できるメジャーモード(major mode)があり、 各モードは特定の種類のテキストを編集するためにEmacsをカスタマイズします。 メジャーモードは相互に排他的で、 各バッファはいつでも1つのメジャーモードだけを持ちます。 モード行は、通常、現行のメジャーモードの名前を括弧の中に表示します (see Mode Line)。
もっとも特殊化されていないメジャーモードは、 基本(fundamental)モードと呼ばれます。 このモードには、モード独自の再定義や変数設定がなく、 各Emacsコマンドはもっとも一般的なふるまいをして、 各オプションはデフォルトの状態になっています。 Lispや英文のように、Emacsが知っている特定の種類のテキストを編集するには、 Lispモードや、テキスト(text)モードのような 適切なメジャーモードに切り替えるべきです。
メジャーモードを選択することは、 編集対象の言語により明確に適応するようにキーの意味を多少変更することです。 よく変更されるキーは<TAB>、<DEL>、C-jです。 プレフィックスキーC-cは、モード特有のコマンドを含みます。 さらに、コメントを扱うコマンドは、 モードを使ってコメントの区切り方を決定します。 多くのメジャーモードでは、 バッファ内に現れる文字の構文上の属性を再定義しています。 See Syntax。
メジャーモードは3つのグループに分けられます。 (いくつかの変種を有する)Lispモード、Cモード、Fortranモード、 その他のプログラム言語特有のモードのグループがあります。 テキスト(text)モード、nroffモード、 TeXとアウトライン(outline)モードなど 英文を編集するためのものがあります。 残りのメジャーモードは、ユーザーのファイルに使うためのものではありません。 Emacsが特別の目的のために作るバッファで使われます。 dired(see Dired)が作るバッファ向けのdiredモード(see Dired)、 C-x mで作られるバッファ向けの メイル(mail)モード(see Sending Mail)、 下位のシェルプロセスとの通信用のバッファ向けのシェル(shell)モード (see Interactive Shell)などです。
ほとんどのプログラム言語用のメジャーモードでは、 段落の区切りは空行だけです。 これは、段落コマンドを役立つようにするためです。 (see Paragraphs。) また、これらのモードでは、 自動詰め込み(auto-fill)モードにおいて、 新たに作った行を字下げするように<TAB>を定義します。 というのは、プログラム中のほとんどの行は通常字下げされるからです。 (see Indentation。)