Режимы

Режим определяет поведение GNU Emacs при работе с буфером. В большинстве других редакторов список доступных команд и функций зависит от типа файла, с которым вы работаете. В GNU Emacs немного другая система.

В каждом буфере активен один основной режим (primary mode) и несколько дополнительных (minor modes).

Основной режим определяет базовое поведение GNU Emacs при работе с буфером: подсветка синтаксиса, основные привязки клавиш, функции рефакторинга и так далее.

Только один режим может быть основным: при выборе другого основного режима предыдущий перестаёт действовать[1].

По области действия режимы делятся на локальные, действующие только в пределах активного буфера, и глобальные, действующие на все открытые буферы.

Некоторые пакеты предоставляют команды для активации соответствующих локального и глобального режима. Например, в пакете whitespace-mode.el доступны команды whitespace-mode и global-whitespace-mode.

Список

Названия некоторых активных режимов выводятся в строке статуса.

Чтобы получить более полный список действующих в буфере режимов, нажмите C-h m.

Включение / выключение

Чтобы включить основной режим, выполните соответствующую команду в минибуфере. Выполнение команды включения основного режима идемпотентно — сколько бы раз вы не вызывали соответствующую команду, эффект будет иметь только самый первый вызов.

В то же время дополнительные режимы ведут себя иначе. Выполнение соответствующей команды переключает (toggle) состояние режима — если он был включен, то он выключится, и наоборот.


1. Существуют пакеты, позволяющие активировать несколько основных режимов сразу.