モードとは、Emacsの動作を便利にカスタマイズするための定義群のことです。モードには、編集中にユーザーが有効・無効を切り替えられる機能を提供するマイナーモードと、特定の種類のテキストの編集や操作に用いられるメジャーモードの2種類があります。各バッファには、一度にちょうど1つのメジャーモードが設定されます。
本章では、メジャーモードとマイナーモードの両方の書き方、モードラインでの表示方法、およびユーザーが提供するフックの実行方法について解説します。キーマップや構文テーブルなどの関連トピックについては、キーマップおよび構文テーブルを参照してください。