Текст
В этом разделе описываются функции, работающие с текстом в буфере. Большинство из них проверяют, вставляют или удаляют текст в текущем буфере, часто работая с точкой или с текстом, прилегающим к точке. Многие из них интерактивны. Все функции, изменяющие текст, предоставляют возможность отмены изменений (см. Отмена).
Многие функции, связанные с текстом, работают с областью текста, определяемой двумя позициями буфера, переданными в аргументах с именами start и end. Эти аргументы должны быть либо метками (см. Метки), либо численными позициями символов (см. Позиции). Порядок этих аргументов не имеет значения; start может быть концом области, а end — началом. Например, (delete-region 1
10) и (delete-region 10 1) эквивалентны. Ошибка args-out-of-range сигнализируется, если start или end находятся вне доступной части буфера. В интерактивном вызове для этих аргументов используются точка и метка.
На протяжении этого раздела «текст» относится к символам в буфере вместе с их свойствами (если применимо). Имейте в виду, что точка всегда находится между двумя символами, а курсор отображается на символе после точки.
| • Около точки | Просмотр текста в окрестностях точки. | |
| • Содержание буфера | Просмотр текста общим образом. | |
| • Сравнение текста | Сравнение подстрок буферов. | |
| • Вставка | Добавление нового текста в буфер. | |
| • Команды вставки | Команды уровня пользователя для вставки текста. | |
| • Удаление | Удаление текста из буфера. | |
| • Удаление на уровне пользователя | Команды уровня пользователя для удаления текста. | |
| • Кольцо обмена | Место, где удаленный текст иногда сохраняется для дальнейшего использования. | |
| • Отмена | Отмена изменений текста буфера. | |
| • Поддержание отмены | Как включить и выключить информацию об отмене. Как контролировать количество сохраняемой информации. | |
| • Заполнение | Функции для явного заполнения. | |
| • Поля | Как задать поля для команд заполнения. | |
| • Адаптивное заполнение | Режим адаптивного заполнения выбирает префикс заполнения из контекста. | |
| • Автозаполнение | Как реализован режим автозаполнения для разрыва строк. | |
| • Сортировка | Функции для сортировки частей буфера. | |
| • Столбцы | Вычисление горизонтальных позиций и их использование. | |
| • Отступы | Функции для вставки или изменения отступов. | |
| • Изменение регистра | Преобразование регистра частей буфера. | |
| • Свойства текста | Назначение списков свойств Lisp символам текста. | |
| • Замена | Замена заданного символа везде, где он встречается. | |
| • Регистры | Как реализованы регистры. Доступ к тексту или позиции, сохраненной в регистре. | |
| • Транспозиция | Обмен двумя частями буфера. | |
| • Замена | Замена текста одного буфера текстом другого буфера. | |
| • Распаковка | Обработка сжатых данных. | |
| • Base 64 | Преобразование в или из кодирования Base 64. | |
| • Контрольная сумма/Хеш | Вычисление криптографических хешей. | |
| • Криптография GnuTLS | Криптографические алгоритмы, импортированные из GnuTLS. | |
| • Парсинг HTML/XML | Парсинг HTML и XML. | |
| • Парсинг JSON | Парсинг и генерация значений JSON. | |
| • JSONRPC | Протокол JSON Remote Procedure Call | |
| • Атомарные изменения | Установка нескольких изменений буфера атомарно. | |
| • Хук изменения | Предоставление функций, которые будут выполняться при изменении текста. |
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/Text.html