Spec-Zone.ru › Elisp

Обычные способы отображения

Ниже приведены соглашения для отображения каждого кода символа (в отсутствие таблицы отображения, которая может переопределить эти соглашения; см. Таблицы отображения).

  • Печатные символы ASCII, коды символов от 32 до 126 (состоящие из цифр, английских букв и символов, таких как ‘#’) отображаются буквально.
  • Символ табуляции (код символа 9) отображается как пробел, занимающий пространство до следующей колонки отступа. См. Отображение текста в Руководстве по GNU Emacs. Переменная tab-width управляет количеством пробелов на один отступ (см. ниже).
  • Символ новой строки (код символа 10) имеет специальный эффект: он завершает предыдущую строку и начинает новую.
  • Непечатаемые управляющие символы ASCII — коды символов от 0 до 31, а также символ DEL (код символа 127) — отображаются одним из двух способов в зависимости от переменной ctl-arrow. Если эта переменная не nil (по умолчанию), эти символы отображаются как последовательность из двух глифов, где первый глиф — ‘^’ (таблица отображения может указать другой глиф вместо ‘^’); например, символ DEL отображается как ‘^?’.

    Если ctl-arrow равно nil, эти символы отображаются как восьмеричные эскапированные последовательности (см. ниже).

    Это правило также применяется к символу возврата каретки (код символа 13), если этот символ появляется в буфере. Но символы возврата каретки обычно не появляются в тексте буфера; они удаляются в рамках преобразования конца строки (см. Основы систем кодирования).

  • Необработанные байты — это несимволы ASCII с кодами от 128 до 255 (см. Представления текста). Эти символы отображаются как восьмеричные эскапированные последовательности: последовательности из четырёх глифов, где первый глиф — код ASCII для ‘\’, а остальные — цифровые символы, представляющие код символа в восьмеричной системе. (Таблица отображения может указать другой глиф вместо ‘\’.)
  • Каждый символ, не являющийся ASCII с кодом выше 255, отображается буквально, если терминал его поддерживает. Если терминал его не поддерживает, символ считается без глифа и обычно отображается с помощью заполнительного глифа. Например, если графический терминал не имеет шрифта для символа, Emacs обычно отображает прямоугольник, содержащий код символа в шестнадцатеричном формате. См. Символы без глифов.

Вышеприведённые соглашения об отображении применяются даже при наличии таблицы отображения для любого символа, запись о котором в активной таблице отображения равна nil. Таким образом, при настройке таблицы отображения вам нужно указать только символы, для которых вы хотите специальное поведение отображения.

Следующие переменные влияют на то, как некоторые символы отображаются на экране. Поскольку они изменяют количество столбцов, занимаемых символами, они также влияют на функции отступа. Они также влияют на отображение строки режима; если вы хотите принудительно перерисовать строку режима с использованием новых значений, вызовите функцию force-mode-line-update (см. Формат строки режима).

Пользовательский параметр: ctl-arrow

Эта локальная переменная буфера контролирует способ отображения управляющих символов. Если она не равна nil, они отображаются как символ "карет" (^) вместе с символом: ‘^A’. Если она равна nil, они отображаются как восьмеричные эскапированные последовательности: обратный слэш, за которым следуют три восьмеричных цифры, как в ‘\001’.

Пользовательский параметр: tab-width

Значение этой локальной переменной буфера задаёт интервал между отступами, используемыми для отображения символов табуляции в буферах Emacs. Значение выражается в количестве столбцов и по умолчанию равно 8. Обратите внимание, что эта функция полностью независима от настраиваемых пользователем отступов, используемых командой tab-to-tab-stop. См. Отступы табуляции.

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/Usual-Display.html

Spec-Zone.ru

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