Emacsには異なった主モードがたくさんあり,そのおのおのでEmacsのテキスト 編集機能の振るまいが少し変わります.これらの主モードは互いに独立で,各バッ ファは常に1つの主モードにあります.通常,主モード名はモード行にカッコに 入って表示されています.See section モード行.
機能変更がもっとも少ない主モードは,Fundamentalモードです.このモード では特有の再定義や変数設定がないので,Emacsコマンドはそのコマンドのもっ とも一般的な機能となり,各オプションはデフォルトに設定されます.Lispコー ドや英語の文章のような特定のテキストを編集する場合は,LispモードやTextモー ドのような適切な主モードに切替える必要があります.
主モードを選ぶと,いくつかのキーの意味が編集中の言語により適合するよう に変更されます.よく意味が変わるキーはTAB,DEL,LFDです. さらにコメントを扱うコマンドでは,コメントの範囲はモードで決まります.主 モードの多くは,バッファに現われる文字の構文特性を再定義します. See section 構文テーブル.
主モードは3つの主なグループに分けられます.Lispモード(いくつかの種類が あります),Cモード,Muddleモードはそれぞれのプログラミング言語に使います. Textモード,Nroffモード,TeXモード,Outlineモードは英語の文章の編集に 使います.残りの主モードは,利用者ファイルの編集には使わず,特定の目的の ためにEmacsが作成したバッファで使います.たとえば,Diredが作成したバッファ のDiredモード(see section ディレクトリエディタ, Dired),C-x mによって作られるバッファのMail モード(see section メイルの送信),サブプロセスとして走らせたシェルを使うため のバッファのShellモード(see section 下位レベルの対話的シェル)などがあります.
たいていのプログラミング言語用の主モードでは,空白行によってのみ段落が 分けられるように設定されます.これは段落コマンドを有用にするためです. See section 段落.また,Auto Fillモードで新しい行を作るときは,そのモー ドのTABの定義を使って新しい行を字下げします.これは,プログラムの ほとんどの行が字下げされているからです.See section 字下げ.