Emacsには、基本的な動作を有用な形で変更する編集モードが数多く用意されています。これらはメジャーモードとマイナーモードに分けられます。
メジャーモードは、C言語のソースファイル(編集プログラムを参照)などの特定のファイル形式や、シェルバッファ(Emacsからのシェルコマンド実行を参照)などの特定の種類の非ファイルバッファを扱うための専用機能を提供します。メジャーモードは相互に排他的であり、各バッファが同時に持つことができるメジャーモードはただ一つだけです。
マイナーモードは任意で有効・無効を切り替えられる機能であり、必ずしも特定のファイル形式やバッファに限定されるものではありません。例えば、オートフィルモードは、入力に合わせてSPCが単語間で改行を行うマイナーモードです(オートフィルモードを参照)。マイナーモードは、互いに、また選択されているメジャーモードからも独立しています。