Spec-Zone.ru › Elisp

Отступ относительно предыдущих строк

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

Команда: indent-relative &опциональные first-only unindented-ok

Эта команда вставляет пробелы в указанную точку, доводя ее до той же колонки, что и следующая точка отступа предыдущей непустой строки. Точка отступа — это любой не-пробельный символ, следующий за пробелами. Следующая точка отступа — это первая точка отступа, расположенная в колонке правее текущей колонки указанной точки. Например, если указанная точка находится под и слева от первого не-пробельного символа строки текста, она перемещается в эту колонку с помощью вставки пробелов.

Если предыдущая непустая строка не имеет следующей точки отступа (т.е., нет точки отступа в колонке правее), то indent-relative либо ничего не делает (если unindented-ok имеет не-nil) либо вызывает tab-to-tab-stop. Таким образом, если указанная точка находится под и справа от последней колонки короткой строки текста, эта команда обычно перемещает указанную точку к следующему табулятору, вставляя пробелы.

Если first-only имеет не-nil, учитывается только первая точка отступа.

Значение возвращаемого indent-relative является непредсказуемым.

В следующем примере указанная точка находится в начале второй строки:

            This line is indented twelve spaces.
∗The quick brown fox jumped.

Вычисление выражения (indent-relative nil) приводит к следующему:

            This line is indented twelve spaces.
            ∗The quick brown fox jumped.

В этом следующем примере указанная точка находится между символами ‘m’ и ‘p’ в строке ‘jumped’:

            This line is indented twelve spaces.
The quick brown fox jum∗ped.

Вычисление выражения (indent-relative nil) приводит к следующему:

            This line is indented twelve spaces.
The quick brown fox jum  ∗ped.
Команда: indent-relative-first-indent-point

Эта команда сдвигает текущую строку вправо, как предыдущая непустая строка, вызвав indent-relative с t в качестве аргумента first-only. Значение возвращаемого результата является непредсказуемым.

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

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/Relative-Indent.html

Spec-Zone.ru

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