Spec-Zone.ru › Elisp

Конструкции в строке режима

В строках, используемых в качестве конструкций строки режима, можно использовать определённые конструкции % для подстановки различных типов данных. Ниже приведён список определённых конструкций % и их значения.

В любой конструкции, кроме ‘%%’, можно добавить десятичное целое число после ‘%’, чтобы указать минимальную ширину поля. Если ширина поля меньше указанной, оно дополняется до этой ширины. Чисто числовые конструкции (‘c’, ‘i’, ‘I’ и ‘l’) дополняются пробелами слева, а остальные — пробелами справа.

%b

Имя текущего буфера, полученное с помощью функции buffer-name. См. раздел Имена буферов.

%c

Текущий номер столбца точки, отсчитываемый с нуля от левого края окна.

%C

Текущий номер столбца точки, отсчитываемый с единицы от левого края окна.

%e

Когда в Emacs почти заканчивается память для объектов Lisp, выводится краткое сообщение об этом. В противном случае ничего не выводится.

%f

Имя посещаемого файла, полученное с помощью функции buffer-file-name. См. раздел Имя файла буфера.

%F

Заголовок (только в оконной системе) или имя выбранного фрейма. См. раздел Основные параметры.

%i

Размер доступной части текущего буфера; по существу, (- (point-max) (point-min)).

%I

Как ‘%i’, но размер выводится в более удобочитаемом виде с использованием ‘k’ для 10^3, ‘M’ для 10^6, ‘G’ для 10^9 и т. д. в качестве сокращений.

%l

Текущий номер строки точки, отсчитываемый в пределах доступной части буфера.

%M

Значение global-mode-string (которое по умолчанию является частью mode-line-misc-info).

%n

‘Narrow’, если включено сужение; в противном случае ничего (см. narrow-to-region в разделе Сужение).

%o

Степень прокрутки окна по (видимой части) буфера, то есть размер текста над верхней границей окна, выраженный в процентах от всего текста за пределами окна, либо ‘Top’, ‘Bottom’ или ‘All’.

%p

Процент текста буфера выше верхней границы окна либо ‘Top’, ‘Bottom’ или ‘All’. Обратите внимание, что эта конструкция строки режима по умолчанию усекает значение до трёх символов.

%P

Процент текста буфера выше нижней границы окна (включая текст, видимый в окне, а также текст выше верхней границы), а также ‘Top’, если верх буфера виден на экране; либо ‘Bottom’ или ‘All’.

%q

Проценты текста выше верхней и нижней границ окна, разделённые символом ‘-’, либо ‘All’.

%s

Состояние подпроцесса, связанного с текущим буфером, полученное с помощью process-status. См. раздел Информация о процессах.

%z

Мнемонические обозначения кодировок клавиатуры, терминала и буфера.

%Z

Как ‘%z’, но с указанием формата конца строки.

%&

‘*’, если буфер изменён, и ‘-’ в противном случае.

%*

‘%’, если буфер доступен только для чтения (см. buffer-read-only); ‘*’, если буфер изменён (см. buffer-modified-p); ‘-’ в противном случае. См. раздел Изменение буфера.

%+

‘*’, если буфер изменён (см. buffer-modified-p); ‘%’, если буфер доступен только для чтения (см. buffer-read-only); ‘-’ в противном случае. Эта конструкция отличается от ‘%*’ только для изменённого буфера, доступного только для чтения. См. раздел Изменение буфера.

%@

‘@’, если default-directory буфера (см. раздел Функции раскрытия имён файлов) находится на удалённой машине, и ‘-’ в противном случае.

%[

Обозначение глубины уровней рекурсивного редактирования (не считая уровней минибуфера): по одной ‘[’ на каждый уровень редактирования. См. раздел Рекурсивное редактирование.

%]

По одной ‘]’ на каждый уровень рекурсивного редактирования (не считая уровней минибуфера).

%-

Дефисы, заполняющие оставшуюся часть строки режима.

%%

Символ ‘%’ — так можно включить буквальный символ ‘%’ в строку, в которой разрешены конструкции %.

Устаревшие конструкции %

Следующие конструкции больше не следует использовать.

%m

Устарела; вместо неё используйте переменную mode-name. Конструкция %m не подходит, поскольку возвращает пустую строку, если значение mode-name представляет собой конструкцию строки режима, не являющуюся строкой (например, в emacs-lisp-mode).

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

Spec-Zone.ru

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