Режимы
Режим определяет поведение GNU Emacs при работе с буфером. В большинстве других редакторов список доступных команд и функций зависит от типа файла, с которым вы работаете. В GNU Emacs немного другая система.
В каждом буфере активен один основной режим (primary mode) и несколько дополнительных (minor modes).
Основной режим определяет базовое поведение GNU Emacs при работе с буфером: подсветка синтаксиса, основные привязки клавиш, функции рефакторинга и так далее.
Только один режим может быть основным: при выборе другого основного режима предыдущий перестаёт действовать[1].
По области действия режимы делятся на локальные, действующие только в пределах активного буфера, и глобальные, действующие на все открытые буферы.
Некоторые пакеты предоставляют команды для активации соответствующих локального и глобального режима.
Например, в пакете whitespace-mode.el доступны команды whitespace-mode и global-whitespace-mode.
Список
Названия некоторых активных режимов выводятся в строке статуса.
Чтобы получить более полный список действующих в буфере режимов, нажмите C-h m.
Включение / выключение
Чтобы включить основной режим, выполните соответствующую команду в минибуфере. Выполнение команды включения основного режима идемпотентно — сколько бы раз вы не вызывали соответствующую команду, эффект будет иметь только самый первый вызов.
В то же время дополнительные режимы ведут себя иначе. Выполнение соответствующей команды переключает (toggle) состояние режима — если он был включен, то он выключится, и наоборот.