Сокращения и расширение сокращений
Сокращение (или abbrev) — это строка символов, которая может быть расширена до более длинной строки. Пользователь может ввести сокращение, и оно будет автоматически заменено на расширение. Это экономит набирание текста.
Набор действующих сокращений записывается в таблице сокращений. Каждый буфер имеет локальную таблицу сокращений, но обычно все буферы в одном основном режиме используют одну таблицу сокращений. Также существует глобальная таблица сокращений. Обычно используются обе.
Таблица сокращений представлена как obarray. См. Создание символов для получения информации об obarray. Каждое сокращение представлено символом в obarray. Имя символа — это сокращение; его значение — расширение; его определение функции — функция-обработчик для выполнения расширения (см. Определение сокращений); и ячейка списка свойств содержит различные дополнительные свойства, включая счетчик использования и количество раз, когда сокращение было расширено (см. Свойства сокращений).
Некоторые сокращения, называемые системными сокращениями, определяются основным режимом, а не пользователем. Системное сокращение определяется своим свойством non-nil :system (см. Свойства сокращений). При сохранении сокращений в файл сокращений системные сокращения опускаются. См. Файлы сокращений.
Поскольку символы, используемые для сокращений, не интернированы в обычном obarray, они никогда не появятся в результате чтения выражения Lisp; на самом деле, обычно они не используются, кроме как кодом, обрабатывающим сокращения. Поэтому их безопасно использовать нестандартным образом.
Если режим вспомогательного режима Сокращения включен, локальная переменная буфера abbrev-mode имеет значение non-nil, и сокращения автоматически расширяются в буфере. Для команд сокращений на уровне пользователя см. Режим сокращений в Руководстве GNU Emacs.
| • Таблицы | Создание и работа с таблицами сокращений. | |
| • Определение сокращений | Указание сокращений и их расширений. | |
| • Файлы | Сохранение сокращений в файлах. | |
| • Расширение | Управление расширением; подпрограммы расширения. | |
| • Стандартные таблицы сокращений | Таблицы сокращений, используемые различными основными режимами. | |
| • Свойства сокращений | Как читать и устанавливать свойства сокращений. Какие свойства имеют какой эффект. | |
| • Свойства таблицы сокращений | Как читать и устанавливать свойства таблицы сокращений. Какие свойства имеют какой эффект. |
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/Abbrevs.html