Окна и точка
Каждое окно имеет собственное значение точки (см. Точка), независимое от значения точки в других окнах, отображающих тот же буфер. Это делает его полезным для отображения одного буфера в нескольких окнах.
- Точка окна устанавливается при первом создании окна; она инициализируется из точки буфера или из точки окна другого открытого на буфере окна, если такое окно существует.
- Выбор окна устанавливает значение точки в его буфере со значения точки окна. И наоборот, отмена выбора окна устанавливает значение точки окна со значения точки буфера. Таким образом, при переключении между окнами, отображающими заданный буфер, значение точки для выбранного окна действует в буфере, а значения точек для других окон сохраняются в этих окнах.
- Пока выбранное окно отображает текущий буфер, точка окна и точка буфера всегда перемещаются вместе; они остаются равными.
Emacs отображает курсор, по умолчанию как прямоугольный блок, в каждом окне в позиции точки этого окна. Когда пользователь переключается на другой буфер в окне, Emacs перемещает курсор этого окна в позицию точки в этом буфере. Если точное положение точки скрыто за некоторым элементом отображения, таким как строка отображения или изображение, Emacs отображает курсор непосредственно перед или после этого элемента отображения.
- Функция: window-point &optional window
-
Эта функция возвращает текущее положение точки в window. Для невыбранного окна это значение, которое имела бы точка (в буфере этого окна), если бы это окно было выбрано. Значение по умолчанию для window — выбранное окно.
Когда window — выбранное окно, возвращаемое значение — значение точки в буфере этого окна. Строго говоря, было бы правильнее вернуть верхнеуровневое значение точки, вне любых
save-excursionформ. Но это значение трудно найти.
- Функция: set-window-point window position
-
Эта функция позиционирует точку в window в позиции position в буфере window. Она возвращает position.
Если window выбрано, это просто
goto-charв буфере window.
- Переменная: window-point-insertion-type
Эта переменная задаёт тип вставки маркера (см. Типы вставки маркеров)
window-point. Значение по умолчанию —nil, поэтомуwindow-pointостанется позади вставленного текста.
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/Window-Point.html