Конструкции в строке режима
В строках, используемых в качестве конструкций строки режима, можно использовать определённые конструкции % для подстановки различных типов данных. Ниже приведён список определённых конструкций % и их значения.
В любой конструкции, кроме ‘%%’, можно добавить десятичное целое число после ‘%’, чтобы указать минимальную ширину поля. Если ширина поля меньше указанной, оно дополняется до этой ширины. Чисто числовые конструкции (‘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