Spec-Zone.ru › Elisp

Регистры

Регистр — это своего рода переменная, используемая в редакторе Emacs, которая может хранить различные типы значений. Каждый регистр имеет имя, состоящее из одного символа. Для именования регистров можно использовать все символы ASCII и их мета-варианты (за исключением C-g). Таким образом, существует 255 возможных регистров. В Emacs Lisp регистр обозначается символом, являющимся его именем.

Переменная: register-alist

Эта переменная является списком элементов вида (name . contents). Обычно, для каждого используемого регистра Emacs существует по одному элементу.

Объект name представляет собой символ (целое число), идентифицирующий регистр.

Содержимое регистра может иметь несколько типов:

число

Число обозначает само себя. Если insert-register находит число в регистре, оно преобразует его в десятичное.

маркер

Маркер представляет собой позицию в буфере, к которой можно перейти.

строка

Строка представляет собой текст, сохранённый в регистре.

прямоугольник

Прямоугольник представлен списком строк.

(window-configuration position)

Представляет конфигурацию окна для восстановления в одном фрейме и позицию для перехода в текущем буфере.

(frame-configuration position)

Представляет конфигурацию фрейма для восстановления и позицию для перехода в текущем буфере.

(file filename)

Представляет файл для посещения; переход к этому значению посещает файл filename.

(file-query filename position)

Представляет файл для посещения и позицию в нём; переход к этому значению посещает файл filename и переходит к позиции position в буфере. Восстановление этого типа позиции предварительно запрашивает подтверждение у пользователя.

Функции в этом разделе возвращают непредсказуемые значения, если не указано иное.

Функция: get-register reg

Эта функция возвращает содержимое регистра reg или nil, если в нём нет содержимого.

Функция: set-register reg value

Эта функция устанавливает содержимое регистра reg в value. Регистр может быть установлен на любое значение, но другие функции регистров ожидают только определённые типы данных. Возвращаемое значение — value.

Команда: view-register reg

Эта команда отображает содержимое регистра reg.

Команда: insert-register reg &optional beforep

Эта команда вставляет содержимое регистра reg в текущий буфер.

Обычно эта команда помещает точку перед вставленным текстом, а метку — после него. Однако, если необязательный второй аргумент beforep имеет ненулевое значение, она помещает метку перед, а точку — после.

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

Если регистр содержит прямоугольник, то прямоугольник вставляется с его верхним левым углом в точке. Это означает, что текст вставляется в текущую строку и под ней в последующих строках.

Если регистр содержит что-то отличное от сохранённого текста (строки) или прямоугольника (списка), происходят в настоящее время бесполезные действия. Это может быть изменено в будущем.

Функция: register-read-with-preview prompt

Эта функция считывает и возвращает имя регистра, запрашивая prompt и, возможно, показывая предварительный просмотр существующих регистров и их содержимого. Предварительный просмотр отображается во временном окне после задержки, указанной в пользовательском параметре register-preview-delay, если его значение и register-alist оба ненулевые. Предварительный просмотр также отображается, если пользователь запросит справку (например, набрав символ справки). Мы рекомендуем использовать эту функцию во всех интерактивных командах, которые считывают имена регистров.

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

Spec-Zone.ru

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