Spec-Zone.ru › Elisp

Переменные, используемые в строке режима

В этом разделе описаны переменные, включенные стандартным значением mode-line-format в текст строки режима. Эти переменные не являются чем-то особенным; любые другие переменные могли бы оказывать то же самое влияние на строку режима, если бы значение mode-line-format было изменено для их использования. Однако различные части Emacs устанавливают эти переменные, предполагая, что они будут управлять частями строки режима; поэтому, практически говоря, использование этих переменных в строке режима имеет важное значение. Также см. Дополнительная строка режима в Руководстве по GNU Emacs.

Переменная: mode-line-mule-info

Эта переменная содержит значение конструкции строки режима, которая отображает информацию об окружении языка, кодировке буфера и текущем методе ввода. См. Символы, отличные от ASCII.

Переменная: mode-line-modified

Эта переменная содержит значение конструкции строки режима, которая отображает, был ли текущий буфер изменён. Её значение по умолчанию отображает «**», если буфер изменён, «--», если буфер не изменён, «%%», если буфер только для чтения, и «%*», если буфер только для чтения и изменён.

Изменение этой переменной не вызывает обновления строки режима.

Переменная: mode-line-frame-identification

Эта переменная идентифицирует текущую раму. Её значение по умолчанию отображает " ", если вы используете систему окон, которая может отображать несколько рам, или "-%F ", в обычном терминале, который отображает только одну раму за раз.

Переменная: mode-line-buffer-identification

Эта переменная идентифицирует буфер, отображаемый в окне. Её значение по умолчанию отображает имя буфера, дополненное пробелами до как минимум 12 столбцов.

Переменная: mode-line-position

Эта переменная указывает позицию в буфере. Её значение по умолчанию отображает процент буфера и, необязательно, размер буфера, номер строки и номер столбца.

Пользовательский параметр: mode-line-percent-position

Этот параметр используется в mode-line-position. Его значение определяет процент буфера для отображения (один из nil, "%o", "%p", "%P" или "%q", см. %-Конструкции) и ширину для заполнения пробелами или обрезки. Рекомендуется устанавливать этот параметр с помощью средства customize-variable.

Переменная: vc-mode

Переменная vc-mode, локальная для каждого буфера, записывает, поддерживается ли файл, посещённый в буфере, с помощью системы управления версиями и, если да, то какой. Её значение — строка, появляющаяся в строке режима, или nil при отсутствии системы управления версиями.

Переменная: mode-line-modes

Эта переменная отображает основные и второстепенные режимы буфера. Её значение по умолчанию также отображает уровень рекурсивного редактирования, информацию о состоянии процесса и действует ли сужение.

Переменная: mode-line-remote

Эта переменная используется для отображения того, является ли default-directory для текущего буфера удалённым.

Переменная: mode-line-client

Эта переменная используется для идентификации emacsclient рам.

Следующие три переменные используются в mode-line-modes:

Переменная: mode-name

Эта локальная переменная буфера содержит «красивое» имя основного режима текущего буфера. Каждый основной режим должен устанавливать эту переменную, чтобы имя режима отображалось в строке режима. Значение не обязательно должно быть строкой, но может использовать любой из типов данных, допустимых в конструкции строки режима (см. Данные строки режима). Чтобы вычислить строку, которая будет идентифицировать имя режима в строке режима, используйте format-mode-line (см. Имитирование строки режима).

Переменная: mode-line-process

Эта локальная переменная буфера содержит информацию о строке режима о состоянии процесса в режимах, используемых для взаимодействия с дочерними процессами. Она отображается сразу после имени основного режима без промежуточного пробела. Например, её значение в буфере *shell* составляет (":%s"), что позволяет оболочке отображать свой статус вместе с основным режимом, как: ‘(Shell:run)’. Обычно эта переменная имеет значение nil.

Переменная: mode-line-front-space

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

Переменная: mode-line-end-spaces

Эта переменная отображается в конце строки режима.

Переменная: mode-line-misc-info

Конструкция строки режима для различных сведений. По умолчанию здесь отображается информация, указанная в global-mode-string.

Переменная: mode-line-position-line-format

Формат, используемый для отображения номеров строк, когда line-number-mode (см. Дополнительная строка режима в Руководстве по GNU Emacs) включен. ‘%l’ в формате будет заменено номером строки.

Переменная: mode-line-position-column-format

Формат, используемый для отображения номеров столбцов, когда column-number-mode (см. Дополнительная строка режима в Руководстве по GNU Emacs) включен. ‘%c’ в формате будет заменено нулевым номером столбца, а ‘%C’ — номером столбца, начиная с единицы.

Переменная: mode-line-position-column-line-format

Формат, используемый для отображения номеров столбцов, когда включены как line-number-mode, так и column-number-mode. См. предыдущие две переменные для значения форматов ‘%l’, ‘%c’ и ‘%C’.

Переменная: minor-mode-alist

Эта переменная содержит список ассоциаций, элементы которого указывают, как строка режима должна указывать, что второстепенный режим активен. Каждый элемент minor-mode-alist должен быть списком из двух элементов:

(minor-mode-variable mode-line-string)

В более общем случае mode-line-string может быть любой конструкцией строки режима. Она появляется в строке режима, когда значение minor-mode-variable отлично от nil, и не иначе. Эти строки должны начинаться с пробелов, чтобы они не сливались. По соглашению minor-mode-variable для конкретного режима устанавливается в значение, отличное от nil, при активации этого второстепенного режима.

minor-mode-alist само по себе не является локальным для буфера. Каждая переменная, упомянутая в списке ассоциаций, должна быть локальной для буфера, если её второстепенный режим может быть включён отдельно в каждом буфере.

Переменная: global-mode-string

Эта переменная содержит конструкцию строки режима, которая по умолчанию появляется в строке режима сразу после which-function-mode второстепенного режима, если он установлен, иначе после mode-line-modes. Элементы, добавляемые в эту конструкцию, обычно должны заканчиваться пробелом (чтобы гарантировать правильное отображение последовательных global-mode-string элементов). Например, команда display-time устанавливает global-mode-string для ссылки на переменную display-time-string, которая содержит строку с информацией о времени и загрузке.

Конструкция ‘%M’ подставляет значение global-mode-string, но это устарело, так как переменная включена в строку режима с mode-line-format.

Вот упрощённая версия значения по умолчанию для mode-line-format. Реальное значение по умолчанию также определяет добавление текстовых свойств.

("-"
 mode-line-mule-info
 mode-line-modified
 mode-line-frame-identification
 mode-line-buffer-identification
 "   "
 mode-line-position
 (vc-mode vc-mode)
 "   "
 mode-line-modes
 (which-function-mode ("" which-func-format "--"))
 (global-mode-string ("--" global-mode-string))
 "-%-")

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Mode-Line-Variables.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API