Spec-Zone.ru › Elisp

Точка

Точка — это специальная позиция в буфере, используемая многими командами редактирования, включая команды вставки набираемых символов и функции вставки текста. Другие команды перемещают точку по тексту, позволяя редактировать и вставлять текст в разных местах.

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

Значение точки — это число не меньше 1 и не больше размера буфера плюс 1. Если действует ограничение области (см. Ограничение области), точка должна находиться в доступной части буфера (возможно, на одном из её концов).

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

Функция: point

Эта функция возвращает значение точки в текущем буфере в виде целого числа.

(point)
     ⇒ 175
Функция: point-min

Эта функция возвращает минимальное доступное значение точки в текущем буфере. Обычно это 1, но если действует ограничение области, то это позиция начала области, до которой вы ограничили буфер. (См. Ограничение области.)

Функция: point-max

Эта функция возвращает максимальное доступное значение точки в текущем буфере. Это (1+ (buffer-size)), если не действует ограничение области; если оно действует, возвращается позиция конца области, до которой вы ограничили буфер. (См. Ограничение области.)

Функция: buffer-end flag

Эта функция возвращает (point-max), если flag больше 0, и (point-min) в противном случае. Аргумент flag должен быть числом.

Функция: buffer-size &optional buffer

Эта функция возвращает общее количество символов в текущем буфере. Если ограничение области не действует (см. Ограничение области), point-max возвращает значение на единицу больше этого числа.

Если указать буфер buffer, значение будет равно размеру buffer.

(buffer-size)
     ⇒ 35
(point-max)
     ⇒ 36

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

Spec-Zone.ru

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