Spec-Zone.ru › Elisp

Аббревиатуры и раскрытие аббревиатур

Аббревиатура, или сокращение, — это строка символов, которую можно раскрыть в более длинную строку. Пользователь может вставить строку сокращения, и она будет автоматически заменена раскрытой формой сокращения. Это позволяет меньше печатать.

Набор действующих сокращений хранится в таблице сокращений. У каждого буфера есть локальная таблица сокращений, но обычно все буферы в одном основном режиме используют общую таблицу сокращений. Кроме того, существует глобальная таблица сокращений. Обычно используются обе таблицы.

Таблица сокращений представлена в виде obarray. См. Создание и интернирование символов, где приведены сведения об obarray. Каждое сокращение представлено символом в obarray. Имя символа — это сокращение; его значение — раскрытая форма; его определение функции — это функция-хук, выполняющая раскрытие (см. Определение сокращений); а его ячейка списка свойств содержит различные дополнительные свойства, включая счётчик использования и число раскрытий сокращения (см. Свойства сокращений).

Некоторые сокращения, называемые системными сокращениями, определяются основным режимом, а не пользователем. Системное сокращение определяется по его свойству не-nil :system (см. Свойства сокращений). При сохранении сокращений в файл системные сокращения не сохраняются. См. Сохранение сокращений в файлах.

Поскольку символы, используемые для сокращений, не интернируются в обычном obarray, они никогда не появятся в результате чтения выражения Lisp; фактически обычно они используются только кодом, который обрабатывает сокращения. Поэтому их безопасно использовать нестандартным образом.

Если включён второстепенный режим Abbrev mode, буферная переменная abbrev-mode является не-nil, и сокращения автоматически раскрываются в буфере. Команды для работы с сокращениями на уровне пользователя см. в разделе Режим Abbrev в Руководстве GNU Emacs.

  • Таблицы сокращений
  • Определение сокращений
  • Сохранение сокращений в файлах
  • Поиск и раскрытие сокращений
  • Стандартные таблицы сокращений
  • Свойства сокращений
  • Свойства таблиц сокращений

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/Abbrevs.html

Spec-Zone.ru

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