Текстовые строки — это части буфера, разделённые символами новой строки, которые считаются частью предыдущей строки. Первая текстовая строка начинается в начале буфера, а последняя текстовая строка заканчивается в конце буфера, независимо от того, является ли последний символ новой строкой. Разделение буфера на текстовые строки не зависит от ширины окна, продолжения строк при отображении или от того, как отображаются табуляции и управляющие символы.
Эта функция перемещает точку в начало текущей строки. С аргументом count, не равным nil или 1, она перемещается вперёд на count−1 строк и затем в начало строки.
Эта функция не перемещает точку через границу поля (см. Определение и использование полей), если только такое перемещение не приведёт к переходу на другую строку; поэтому, если count равен nil или 1, и точка находится на границе поля, точка не перемещается. Чтобы игнорировать границы полей, свяжите inhibit-field-text-motion со значением t или используйте вместо неё функцию forward-line. Например, (forward-line 0) делает то же самое, что и (beginning-of-line), за исключением того, что игнорирует границы полей.
Если эта функция достигает конца буфера (или доступной части, если действует сужение), она устанавливает точку там. Ошибка не сигнализируется.
Возвращает позицию, в которую переместился бы вызов (beginning-of-line count).
Эта функция перемещает точку в конец текущей строки. С аргументом count, не равным nil или 1, она перемещается вперёд на count−1 строк и затем в конец строки.
Эта функция не перемещает точку через границу поля (см. Определение и использование полей), если только такое перемещение не приведёт к переходу на другую строку; поэтому, если count равен nil или 1, и точка находится на границе поля, точка не перемещается. Чтобы игнорировать границы полей, свяжите inhibit-field-text-motion со значением t.
Если эта функция достигает конца буфера (или доступной части, если действует сужение), она устанавливает точку там. Ошибка не сигнализируется.
Возвращает позицию, в которую переместился бы вызов (end-of-line count).
Как line-beginning-position, но игнорирует поля (и более эффективна).
Как line-end-position, но игнорирует поля (и более эффективна).
Эта функция перемещает точку вперёд на count строк, к началу следующей за ними строки. Если count отрицателен, она перемещает точку назад на −count строк, к началу предшествующей строки. Если count равен нулю, она перемещает точку в начало текущей строки. Если count равен nil, это означает 1.
Если forward-line достигает начала или конца буфера (или доступной части) до того, как будет найдено указанное количество строк, она устанавливает точку там. Ошибка не сигнализируется.
forward-line возвращает разницу между count и фактически перемещённым количеством строк. Если вы попытаетесь переместиться вниз на пять строк от начала буфера, в котором всего три строки, точка остановится в конце последней строки, а возвращаемое значение будет равно 2. В виде явного исключения: если последняя доступная строка не пуста, но не имеет завершающей новой строки (например, если буфер заканчивается без новой строки), функция устанавливает точку в конец этой строки, и возвращаемое значение учитывает эту строку как одну успешно перемещённую строку.
При интерактивном вызове count — это числовой префиксный аргумент.
Эта функция возвращает количество строк между позициями start и end в текущем буфере. Если start и end равны, возвращается 0. В противном случае возвращается как минимум 1, даже если start и end находятся на одной строке. Это связано с тем, что текст между ними, рассматриваемый изолированно, должен содержать как минимум одну строку, если только он не пуст.
Если необязательный аргумент ignore-invisible-lines не равен nil, невидимые строки не будут включены в подсчёт.
Эта функция возвращает количество слов между позициями start и end в текущем буфере.
Эту функцию можно также вызывать интерактивно. В этом случае она выводит сообщение с количеством строк, слов и символов в буфере или в выделенной области, если она активна.
Эта функция возвращает номер строки в текущем буфере, соответствующий позиции pos. Если pos равен nil или опущен, используется текущая позиция точки. Если absolute равен nil (значение по умолчанию), подсчёт начинается с (point-min), поэтому значение относится к содержимому доступной части (возможно, суженного) буфера. Если absolute не равен nil, сужение игнорируется и возвращается абсолютный номер строки.
Смотрите также функции bolp и eolp в Изучение текста около точки. Эти функции не перемещают точку, а проверяют, находится ли она уже в начале или в конце строки.