Конструкции в строке режима
Строки, используемые в качестве конструкций строки режима, могут использовать определённые %-конструкции для подстановки различных типов данных. Ниже приведён список определённых %-конструкций и их значений.
В любом конструкте, кроме ‘%%’, можно добавить десятичное целое число после ‘%’, чтобы указать минимальную ширину поля. Если ширина меньше, поле заполняется пробелами до указанной ширины. Чисто числовые конструкции (‘c’, ‘i’, ‘I’, и ‘l’) заполняются пробелами слева, а другие — справа.
%b-
Текущее имя буфера, полученное с помощью функции
buffer-name. См. Имена буферов. %c-
Текущий номер столбца курсора, считая с нуля от левого края окна.
%C-
Текущий номер столбца курсора, считая с единицы от левого края окна.
%e-
Краткое сообщение о нехватке памяти для объектов Lisp, если Emacs близок к исчерпанию памяти. В противном случае — пустая строка.
%f-
Имя файла, посещённого последним, полученное с помощью функции
buffer-file-name. См. Имя файла буфера. %F-
Заголовок (только в оконной системе) или имя выбранной рамки. См. Основные параметры.
%i-
Размер доступной части текущего буфера; в основном
(- (point-max) (point-min)). %I-
Аналогично ‘%i’, но размер печатается более читаемо, используя ‘k’ для 103, ‘M’ для 106, ‘G’ для 109 и т. д. для сокращения.
%l-
Текущий номер строки курсора, считая внутри доступной части буфера.
%n-
‘Сужение’ при активном сужении; в противном случае ничего (см.
narrow-to-regionв Сужение). %o-
Степень «перемещения» окна по (видимой части) буферу, т. е. размер текста над верхней частью окна, выраженный в процентах от всего текста за пределами окна, или ‘Верх’, ‘Низ’ или ‘Всё’.
%p-
Процент текста буфера над верхней частью окна, или ‘Верх’, ‘Низ’ или ‘Всё’. Обратите внимание, что по умолчанию в строке режима эта величина обрезается до трёх символов.
%P-
Процент текста буфера, находящегося над нижней частью окна (который включает текст, видимый в окне, а также текст над верхней частью), плюс ‘Верх’ если верхняя часть буфера видна на экране; или ‘Низ’ или ‘Всё’.
%q-
Проценты текста, находящегося над верхней и нижней частью окна, разделенные ‘-’, или ‘Всё’.
%s-
Состояние дочернего процесса, принадлежащего текущему буферу, полученное с помощью
process-status. См. Информация о процессе. %z-
Мнемоники кодировок клавиатуры, терминала и буфера.
%Z-
Аналогично ‘%z’, но включая формат конца строки.
%*-
‘%’, если буфер только для чтения (см.
buffer-read-only); ‘*’, если буфер изменён (см.buffer-modified-p); ‘-’ в противном случае. См. Изменения буфера. %+-
‘*’, если буфер изменён (см.
buffer-modified-p); ‘%’, если буфер только для чтения (см.buffer-read-only); ‘-’ в противном случае. Отличается от ‘%*’ только для изменённого буфера только для чтения. См. Изменения буфера. %&-
‘*’, если буфер изменён, и ‘-’ в противном случае.
%@-
‘@’, если
default-directory(см. Расширение имён файлов) буфера находится на удалённой машине, и ‘-’ в противном случае. %[-
Указание глубины уровней рекурсивного редактирования (не считая уровней минибуфера): одна ‘[’ на каждый уровень редактирования. См. Рекурсивное редактирование.
%]-
Одна ‘]’ на каждый уровень рекурсивного редактирования (не считая уровней минибуфера).
%--
Тире, достаточные для заполнения оставшейся части строки режима.
%%Символ ‘%’ — так включается буквальный символ ‘%’ в строку, в которой разрешены
%-конструкции.
Следующая %-конструкция всё ещё поддерживается, но она устарела, так как вы можете получить тот же результат, используя переменную mode-name.
%mЗначение
mode-name.
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/_0025_002dConstructs.html