Spec-Zone.ru › Elisp

Подсчёт столбцов

Функции столбцов преобразуют позицию символа (подсчёт символов с начала буфера) в позицию столбца (подсчёт экранных символов с начала строки).

Эти функции подсчитывают каждый символ в соответствии с количеством столбцов, которые он занимает на экране. Это означает, что управляющие символы занимают 2 или 4 столбца, в зависимости от значения ctl-arrow, а табуляции занимают количество столбцов, зависящее от значения tab-width и от столбца, в котором начинается табуляция. См. Обычный вывод.

Вычисления номера столбца игнорируют ширину окна и количество горизонтальной прокрутки. Следовательно, значение столбца может быть произвольно высоким. Первый (или самый левый) столбец имеет номер 0. Они также игнорируют наложения и свойства текста, за исключением невидимости. Невидимый текст считается имеющим нулевую ширину, если buffer-invisibility-spec не указывает, что невидимый текст должен отображаться как многоточие (см. Невидимый текст).

Функция: current-column

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

Команда: move-to-column column &optional force

Эта функция перемещает точку в столбец в текущей строке. Вычисление столбца учитывает ширины отображаемых представлений символов между началом строки и точкой.

При интерактивном вызове столбец является значением числового префикса аргумента. Если столбец не является целым числом, сигнализируется об ошибке.

Если невозможно переместиться в столбец столбец, потому что он находится посередине многостолбцового символа, такого как табуляция, точка перемещается в конец этого символа. Однако, если force не nil, а столбец находится посередине табуляции, то move-to-column либо преобразует табуляцию в пробелы (когда indent-tabs-mode равно nil), либо вставляет достаточное количество пробелов перед ней (в противном случае), чтобы точка могла переместиться точно в столбец столбец. Другие многостолбцовые символы могут вызывать аномалии, несмотря на force, так как нет способа их разделить.

Аргумент force также оказывает влияние, если строка недостаточно длинная, чтобы достичь столбца столбец; если он t, это означает добавление пробелов в конце строки, чтобы достичь этого столбца.

Возвращаемое значение — номер столбца, в который фактически произошло перемещение.

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

Spec-Zone.ru

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