Помимо фундаментального режима, существуют три основных режима, от которых обычно наследуют другие основные режимы: текстовый режим, режим Prog и специальный режим. В то время как текстовый режим полезен сам по себе (например, для редактирования файлов с расширением .txt), режим Prog и специальный режим существуют в основном для того, чтобы другие режимы могли наследовать от них.
По возможности новые основные режимы должны наследоваться, прямо или косвенно, от одного из этих трёх режимов. Одна из причин заключается в том, что это позволяет пользователям настраивать единый перехватчик режима (например, prog-mode-hook) для целого семейства соответствующих режимов (например, для всех режимов языков программирования).
Текстовый режим — это основной режим для редактирования текстов на естественных языках. Он определяет символы ‘"’ и ‘\’ как имеющие синтаксис пунктуации (см. Таблица классов синтаксиса) и обеспечивает, чтобы completion-at-point дополнял слова на основе словаря правописания (см. Дополнение в обычных буферах).
Примером основного режима, производного от текстового режима, является режим HTML. См. Режимы SGML и HTML в Руководстве по GNU Emacs.
Режим Prog — это базовый основной режим для буферов, содержащих исходный код на языках программирования. Большинство основных режимов языков программирования, встроенных в Emacs, являются производными от него.
Режим Prog устанавливает parse-sexp-ignore-comments в t (см. Команды перемещения на основе синтаксического анализа) и bidi-paragraph-direction в left-to-right (см. Двунаправленное отображение).
Специальный режим — это базовый основной режим для буферов, содержащих текст, который специально создаётся Emacs, а не поступает напрямую из файла. Основные режимы, производные от специального режима, получают свойство mode-class со значением special (см. Соглашения об основных режимах).
Специальный режим устанавливает буфер только для чтения. Его клавиатурная карта определяет несколько распространённых привязок, включая q для quit-window и g для revert-buffer (см. Возврат к исходному состоянию).
Примером основного режима, производного от специального режима, является режим меню буферов, который используется в буфере *Buffer List*. См. Список существующих буферов в Руководстве по GNU Emacs.
Кроме того, режимы для буферов с табличными данными могут наследовать от режима списка с таблицами, который, в свою очередь, является производным от специального режима. См. Режим списка с таблицами.