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