Руководства по командной строке

Man » Онлайн-справочник less - подробная онлайн-документация для страницы руководства less

🌍
less - отображает содержимое файла в терминале

СИНТАКСИС

less -?
less --help
less -V
less --version
less [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]
[-b space] [-h lines] [-j line] [-k keyfile]
[-{oO} logfile] [-p pattern] [-P prompt] [-t tag]
[-T tagsfile] [-x tab,...] [-y lines] [-[z] lines]
[-# shift] [+[+]cmd] [--] [filename]...
(См. раздел «ПАРАМЕТРЫ» для альтернативного синтаксиса параметров с использованием длинных имен параметров.)

ОПИСАНИЕ

Less — это программа, аналогичная more(1), но с гораздо большим количеством функций. Less не обязательно читать весь входной файл, прежде чем начать работу, поэтому при работе с большими входными файлами она запускается быстрее, чем текстовые редакторы, такие как vi(1). Less использует termcap (или terminfo в некоторых системах), поэтому ее можно запускать на различных терминалах. Существует даже ограниченная поддержка терминалов для печати на бумаге. (На терминале для печати на бумаге строки, которые должны быть напечатаны в верхней части экрана, имеют префикс «^».)

Команды основаны как на more, так и на vi. Команды могут быть предшествованы десятичным числом, называемым N в описаниях ниже. Число используется некоторыми командами, как указано.

КОМАНДЫ

В следующих описаниях ^X означает control-X. ESC обозначает клавишу ESCAPE; например, ESC-v означает последовательность из двух символов «ESCAPE», затем «v».

h или H Справка: отображает сводку этих команд. Если вы забудете все остальные команды, помните
эту.

SPACE или ^V или f или ^F

Прокрутите вперед N строк, по умолчанию один экран (см. параметр -z ниже). Если N больше размера экрана, отображается только последняя часть экрана. Предупреждение: в некоторых системах ^V используется в качестве специального символа литерализации.

z      Аналогично SPACE, но если N указан, он становится новым размером экрана.

ESC-SPACE

Аналогично SPACE, но прокручивает целый экран, даже если в процессе достигается конец файла.

ENTER или RETURN или ^N или e или ^E или j или ^J

Прокрутите вперед N строк, по умолчанию 1. Все N строк отображаются, даже если N больше размера экрана.

d или ^D

Прокрутите вперед N строк, по умолчанию половина размера экрана. Если N указан, он становится новым значением по умолчанию для последующих команд d и u.

b или ^B или ESC-v

Прокрутите назад N строк, по умолчанию один экран (см. параметр -z ниже). Если N больше размера экрана, отображается только последняя часть экрана.

w      Аналогично ESC-v, но если N указан, он становится новым размером экрана.

y или ^Y или ^P или k или ^K

Прокрутите назад N строк, по умолчанию 1. Все N строк отображаются, даже если N больше размера экрана. Предупреждение: в некоторых системах ^Y используется в качестве специального символа управления заданиями.


u или ^U
Переместить курсор назад на N строк, по умолчанию на половину высоты экрана. Если указано N, это становится новым значением по умолчанию для последующих команд d и u.

J      Аналогично j, но позволяет прокручивать текст дальше начала файла.

K или Y Аналогично k, но позволяет прокручивать текст дальше конца файла.

ESC-) или RIGHTARROW
Переместить курсор горизонтально вправо на N символов, по умолчанию на половину ширины экрана (см. опцию -\#).
Если указано число N, оно становится значением по умолчанию для будущих команд RIGHTARROW и LEFTARROW. Во время прокрутки текста действует опция -S (разбиение строк).

ESC-( или LEFTARROW
Переместить курсор горизонтально влево на N символов, по умолчанию на половину ширины экрана (см. опцию -\#).
Если указано число N, оно становится значением по умолчанию для будущих команд RIGHTARROW и LEFTARROW.

ESC-} или ^RIGHTARROW
Переместить курсор горизонтально вправо, чтобы показать конец самой длинной строки, отображаемой на экране.

ESC-{ или ^LEFTARROW
Переместить курсор горизонтально влево, чтобы вернуться к первому столбцу.

r или ^R или ^L
Обновить экран.

R      Обновить экран, отменив любые буферизованные данные. То есть, перезагрузить текущий файл.
Полезно, если файл изменяется во время просмотра.

F      Прокрутить вперед и продолжать попытки чтения при достижении конца файла. Обычно эта команда используется, когда уже достигнут конец файла. Это способ отслеживать конец файла, который увеличивается во время просмотра. (Поведение аналогично команде "tail -f"). Чтобы прекратить ожидание новых данных, введите символ прерывания (обычно ^C). На системах, поддерживающих poll(2), можно также использовать ^X или символ, указанный в опции --intr. Если ввод осуществляется из канала, и активна опция --exit-follow-on-close, less автоматически прекратит ожидание данных при закрытии входной стороны канала.

ESC-F  Аналогично F, но как только будет найдена строка, соответствующая последнему шаблону поиска, будет подан звуковой сигнал терминала, и прокрутка вперед прекратится.

g или < или ESC-<
Перейти к строке N в файле, по умолчанию к 1 (начало файла). (Предупреждение: это может быть медленно, если N велико).

G или > или ESC->
Перейти к строке N в файле, по умолчанию к концу файла. (Предупреждение: это может быть медленно, если N велико, или если N не указано и читается стандартный ввод, а не файл).

ESC-G  То же, что и G, за исключением того, что если число N не указано и ввод осуществляется из стандартного ввода, переходит к последней строке, которая в данный момент находится в буфере.

p или % Перейти к позиции N процентов в файле. N должно быть между 0 и 100 и может содержать десятичную точку.

P      Перейти к строке, содержащей байтовый сдвиг N в файле.

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

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

(      Аналогично {, но применяется к круглым скобкам.

)      Аналогично }, но применяется к круглым скобкам.

[      Аналогично {, но применяется к квадратным скобкам.

]      Аналогично }, но применяется к квадратным скобкам.

ESC-^F За которой следуют два символа, действует как {, но использует эти два символа в качестве открывающей и закрывающей скобок соответственно. Например, "ESC ^F < >" можно использовать для перехода к символу >, соответствующему символу < в верхней отображаемой строке.

ESC-^B За которой следуют два символа, действует как }, но использует эти два символа в качестве открывающей и закрывающей скобок соответственно. Например, "ESC ^B < >" можно использовать для перехода к символу <, соответствующему символу > в нижней отображаемой строке.

m      За которой следует любая строчная или прописная буква, отмечает первую отображаемую строку этой буквой. Если столбец состояния включен с помощью опции -J, столбец состояния показывает отмеченную строку.

M      Действует как m, за исключением того, что отмечается последняя отображаемая строка, а не первая.

'      (Одинарная кавычка). За которой следует любая строчная или прописная буква, возвращает в позицию, которая ранее была помечена этой буквой. За которой следует еще одна одинарная кавычка, возвращает в позицию, в которой была выполнена последняя "значительная" команда перемещения. За которой следует ^ или $, переходит в начало или конец файла соответственно. Метки сохраняются при просмотре нового файла, поэтому команду ' можно использовать для переключения между входными файлами.

^X^X   То же, что и одинарная кавычка.

ESC-m За которой следует любая строчная или прописная буква, удаляет метку, идентифицированную этой буквой.

/pattern
Выполняет поиск в файле N-й строки, содержащей шаблон. N по умолчанию равно 1. Шаблон является регулярным выражением, как распознается библиотекой регулярных выражений, предоставляемой вашей системой. По умолчанию поиск чувствителен к регистру (заглавные и строчные буквы считаются разными); опцию -i можно использовать для изменения этого. Поиск начинается с первой отображаемой строки (но см. опции -a и -j, которые изменяют это).

Определенные символы являются специальными, если они вводятся в начале шаблона; они изменяют тип поиска, а не становятся частью шаблона:

^N или !
Выполняет поиск строк, которые НЕ соответствуют шаблону.

^E или *
Выполняет поиск в нескольких файлах. То есть, если при поиске достигается КОНЕЦ текущего файла, не находя соответствия, поиск продолжается в следующем файле в списке командной строки.

^F или @
Начинает поиск с первой строки ПЕРВОГО файла в списке командной строки, независимо от того, что в данный момент отображается на экране или какие настройки используются для опций -a или -j.

^K     Выделить любой текст, соответствующий шаблону на текущем экране, но не переходить к первому совпадению (оставаться в текущей позиции).

^R     Не интерпретировать специальные символы регулярных выражений; то есть, выполнить простое текстовое сравнение.

^S     За которым следует цифра N от 1 до 5. Учитываются только те тексты, для которых N-й заключенный в скобки подшаблон имеет непустое совпадение. (Поддерживается только в том случае, если less скомпилирован с одной из библиотек регулярных выражений posix, pcre или pcre2.) Можно указать несколько модификаторов ^S, чтобы сопоставить более одного подшаблона.

^W     ОБХОДИТЬ текущий файл. То есть, если поиск достигает конца текущего файла, не находя совпадение, поиск продолжается с первой строки текущего файла до строки, с которой он начался. Если установлен модификатор ^W, модификатор ^E игнорируется.

^L     Следующий символ воспринимается буквально; то есть, он становится частью шаблона, даже если это один из вышеперечисленных символов-модификаторов поиска.

?pattern
Поиск в обратном порядке по файлу для N-й строки, содержащей шаблон. Поиск начинается с последней отображаемой строки (но см. параметры -a и -j, которые это изменяют).

Некоторые символы являются специальными, как и в команде /:

^N или !
Поиск строк, которые НЕ соответствуют шаблону.

^E или *
Поиск в нескольких файлах. То есть, если поиск достигает начала текущего файла, не находя совпадение, поиск продолжается в следующем файле в списке командной строки.

^F или @
Начать поиск с последней строки последнего файла в списке командной строки, независимо от того, что в данный момент отображается на экране или какие настройки у параметров -a или -j.

^K     Как и при прямом поиске.

^R     Как и при прямом поиске.

^S     Как и при прямом поиске.

^W     ОБХОДИТЬ текущий файл. То есть, если поиск достигает начала текущего файла, не находя совпадение, поиск продолжается с последней строки текущего файла до строки, с которой он начался.

ESC-/pattern
То же, что и "/\*".

ESC-?pattern
То же, что и "?\*".

n      Повторить предыдущий поиск, для N-й строки, содержащей последний шаблон. Если предыдущий поиск был изменен с помощью ^N, поиск выполняется для N-й строки, НЕ содержащей шаблон. Если предыдущий поиск был изменен с помощью ^E, поиск продолжается в следующем (или предыдущем) файле, если он не выполнен в текущем файле. Если предыдущий поиск был изменен с помощью ^R, поиск выполняется без использования регулярных выражений. Никакого эффекта не будет, если предыдущий поиск был изменен с помощью ^F или ^K.

N      Повторить предыдущий поиск, но в обратном направлении.

ESC-n  Повторить предыдущий поиск, но с переходом границ файлов. Эффект такой же, как если бы предыдущий поиск был изменен с помощью \*.

ESC-N  Повторить предыдущий поиск, но в обратном направлении и с переходом границ файлов.

ESC-u Отменить выделение строк, соответствующих текущему шаблону поиска. Если выделение уже отключено предыдущей командой ESC-u, включить выделение. Любая команда поиска также включит выделение. (Выделение также можно отключить с помощью переключателя -G; в этом случае команды поиска не будут включать выделение.)

ESC-U Аналогично ESC-u, но также очищает сохраненный шаблон поиска. Если столбец состояния включен с помощью опции -J, это очищает все совпадения, отмеченные в столбце состояния.

&pattern
Отображать только строки, соответствующие шаблону; строки, не соответствующие шаблону, не отображаются. Если шаблон пуст (если вы вводите & непосредственно перед нажатием ENTER), фильтрация отключается, и отображаются все строки. Пока включена фильтрация, в начале строки запроса отображается амперсанд (&) в качестве напоминания о том, что некоторые строки в файле могут быть скрыты. Можно ввести несколько команд &, в этом случае отображаются только те строки, которые соответствуют всем шаблонам.

Определенные символы имеют специальное значение, как и в команде /:

^N или !
Отображать только строки, которые НЕ соответствуют шаблону.

^R Не интерпретировать метасимволы регулярного выражения, т. е. выполнять простое текстовое сравнение.

:e [имя_файла]
Открыть новый файл. Если имя файла не указано, повторно открывается "текущий" файл (см. команды :n и :p ниже) из списка файлов в командной строке. Символ процента (%) в имени файла заменяется именем текущего файла. Символ решетки (#) заменяется именем ранее открытого файла. Однако два последовательных символа процента просто заменяются одним символом процента. Это позволяет вводить имя файла, содержащее символ процента. Аналогично, два последовательных символа решетки заменяются одним символом решетки. Имя файла вставляется в список файлов в командной строке, чтобы его можно было увидеть в последующих командах :n и :p. Если имя файла состоит из нескольких файлов, все они вставляются в список файлов, и открывается первый из них. Если имя файла содержит одно или несколько пробелов, все имя файла должно быть заключено в двойные кавычки (см. также опцию -").

^X^V или E
То же, что и :e. Предупреждение: в некоторых системах ^V используется как специальный символ экранирования. В таких системах вы, возможно, не сможете использовать ^V.

:n Открыть следующий файл из списка файлов, указанных в командной строке. Если указано число N, открывается N-й следующий файл.

:p Открыть предыдущий файл в списке файлов в командной строке. Если указано число N, открывается N-й предыдущий файл.

:x Открыть первый файл в списке файлов. Если указано число N, открывается N-й файл в списке.

:d Удалить текущий файл из списка файлов.

t Перейти к следующему тегу, если было несколько совпадений для текущего тега. См. опцию -t для получения дополнительной информации о тегах.

T      Перейти к предыдущей метке, если для текущей метки было найдено несколько совпадений.

^O^N или ^On
Выполнить поиск вперед в файле для N-го следующего гиперссылки OSC 8.

^O^P или ^Op
Выполнить поиск назад в файле для N-го предыдущего гиперссылки OSC 8.

^O^L или ^Ol
Перейти к текущему выбранному гиперссылке OSC 8.

= или ^G или :f
Выводит некоторую информацию о просматриваемом файле, включая его имя, номер строки и смещение байтов нижней отображаемой строки. Если возможно, также выводит
длину файла, количество строк в файле и процент файла, находящийся выше
последней отображаемой строки.

-      За которым следует одна из букв командной строки (см. OPTIONS ниже), это изменит
настройку этой опции и выведет сообщение с описанием новой настройки. Если после знака ^P (CONTROL-P) ввести сразу, настройка опции изменится, но сообщение выводиться не будет. Если буква опции имеет числовое значение (например, -b или -h) или строковое значение (например, -P или -t), после буквы опции можно ввести новое значение. Если новое значение не введено, выводится сообщение с описанием текущей настройки, и ничего не изменяется.

--     Как команда -, но принимает длинное имя опции (см. OPTIONS ниже), а не одну букву. Вы должны нажать ENTER или RETURN после ввода имени опции. Знак ^P, введенный сразу после второго дефиса, подавляет вывод сообщения с описанием новой настройки, как и в команде -.

-+     За которым следует одна из букв командной строки, эта команда сбросит опцию к настройке по умолчанию и выведет сообщение с описанием новой настройки. (Команда "-+X" делает
то же самое, что и "-+X" в командной строке.) Это не работает для строковых значений опций.

--+    Как команда -+, но принимает длинное имя опции, а не одну букву.

-!     За которым следует одна из букв командной строки, эта команда сбросит опцию к «противоположной» настройке по умолчанию и выведет сообщение с описанием новой настройки. Это не работает для числовых или строковых значений опций.

--!    Как команда -!, но принимает длинное имя опции, а не одну букву.

_      (Подчеркивание.) За которым следует одна из букв командной строки, эта команда выведет сообщение с описанием текущей настройки этой опции. Настройка опции не изменяется.

__     (Двойное подчеркивание.) Как команда _ (подчеркивание), но принимает длинное имя опции, а не одну букву. Вы должны нажать ENTER или RETURN после ввода имени опции.

+cmd   Приводит к тому, что указанная команда cmd будет выполняться каждый раз при просмотре нового файла. Например, +G
заставляет less изначально отображать каждый файл, начиная с конца, а не с начала.

V      Выводит номер версии less, которая используется.

q или Q или :q или :Q или ZZ
Выход из less.

Следующие семь команд могут быть или не быть действительными, в зависимости от вашей конкретной установки.

v      Запускает редактор для редактирования текущего просматриваемого файла. Редактор берется из переменной среды VISUAL, если она определена, или из EDITOR, если VISUAL не определена, или по умолчанию используется "vi", если ни VISUAL, ни EDITOR не определены. См. также обсуждение LESSEDIT в разделе PROMPTS ниже.

! shell-command

Запускает оболочку для выполнения заданной команды оболочки. Знак процента (%) в команде заменяется именем текущего файла. Знак решетки (#) заменяется именем ранее просмотренного файла. "!!" повторяет последнюю команду оболочки. "!" без команды оболочки просто запускает оболочку. Если сразу после знака "!", вводится ^P (CONTROL-P), после выполнения команды оболочки не выводится сообщение "готово". В системах Unix оболочка берется из переменной среды SHELL или по умолчанию используется "sh". В системах MS-DOS, Windows и OS/2 оболочкой является обычный интерпретатор команд.

# shell-command

Аналогично команде "!", за исключением того, что команда расширяется так же, как и строки подсказок. Например, имя текущего файла будет указано как "%f".

| <m> shell-command

представляет собой любую букву метки. Передает раздел входного файла в заданную команду оболочки. Раздел файла, который будет передан, находится между позицией, отмеченной буквой, и текущим экраном. Весь текущий экран включается, независимо от того, находится ли отмеченная позиция перед или после текущего экрана. также может быть ^ или $, чтобы указать начало или конец файла соответственно. Если — это . или новая строка, то текущий экран передается. Если сразу после буквы метки вводится ^P (CONTROL-P), после выполнения команды оболочки не выводится сообщение "готово".

s filename

Сохраняет ввод в файл. Это работает только в том случае, если ввод является каналом, а не обычным файлом.

^O^O

Запускает команду оболочки для открытия URI в текущей гиперссылке OSC 8, выбранной предыдущими командами ^O^N или ^O^P. Чтобы найти команду оболочки, считывается переменная среды с именем "LESS_OSC8_xxx", где "xxx" — это схема из URI (часть перед первым двоеточием) или пуста, если в URI нет двоеточия. Затем значение переменной среды расширяется так же, как и строки подсказок (в частности, каждый экземпляр "%o" заменяется на URI), чтобы получить команду оболочки "обработчика" OSC 8. Стандартный вывод из обработчика является командой оболочки "открывателя", которая затем выполняется для открытия URI.

Есть два специальных случая:

    Если URI начинается с "\#", остальная часть URI считается значением параметра id в другой ссылке OSC 8 в том же файле, и ^O^O просто перейдет к этой ссылке.

    Если "открыватель" начинается с символов ":e", за которыми следуют пробелы и имя файла, то вместо выполнения "открывателя" как команды оболочки указанный файл открывается в текущем экземпляре less.

В простом случае, когда обработчик принимает весь URI в качестве параметра командной строки, обработчик может быть таким:

echo mybrowser '%o'

В других случаях URI может потребоваться изменить, поэтому обработчику может потребоваться выполнить некоторую манипуляцию со значением %o.

Если переменная LESS_OSC8_xxx не установлена, то сначала проверяется переменная LESS_OSC8_ANY. Если ни LESS_OSC8_xxx, ни LESS_OSC8_ANY не установлены, ссылки, использующие схему "xxx", не могут быть открыты. Однако существуют обработчики по умолчанию для схем "man" (используется, когда LESS_OSC8_man не установлена) и "file" (используется, когда LESS_OSC8_file не установлена), которые должны работать в системах, предоставляющих команду sed(1) и оболочку, совместимую с синтаксисом Bourne shell sh(1). Если вы используете LESS_OSC8_ANY для переопределения LESS_OSC8_file, вы должны установить LESS_OSC8_file в "-" , чтобы указать, что значение по умолчанию не следует использовать, и то же самое для LESS_OSC8_man.

URI, передаваемый в обработчик OSC8 через %o, гарантированно не содержит ни одинарных, ни двойных кавычек, но может содержать любые другие метасимволы оболочки, такие как точки с запятой, знаки доллара, амперсанды и т. д. Обработчик должен правильно заключать параметры в кавычки в команде открывателя, чтобы предотвратить выполнение непреднамеренных команд оболочки в случае открытия URI, содержащего метасимволы оболочки. Кроме того, поскольку команда обработчика расширяется, как приглашение командной строки, любые метасимволы, интерпретируемые расширением приглашения (такие как процент, точка, двоеточие, обратная косая черта и т. д.), должны быть экранированы обратной косой чертой (см. раздел PROMPTS для получения подробной информации).

^X Когда отображается сообщение «Ожидание данных», например, при использовании команды F, нажатие ^X остановит less от ожидания и вернет к приглашению. Это может привести к тому, что less будет считать, что файл заканчивается в текущей позиции, поэтому может потребоваться использовать команды R или F для просмотра дополнительных данных. Опция --intr может быть использована для указания другого символа, который будет использоваться вместо ^X. Эта команда работает только в системах, поддерживающих функцию poll(2). В системах без poll(2) вместо этого можно использовать символ прерывания (обычно ^C).

ОПЦИИ

Командные опции описаны ниже. Большинство опций можно изменить во время работы less с помощью команды "-".

Некоторые опции могут быть указаны в одной из двух форм: либо дефис, за которым следует одна буква, либо два дефиса, за которыми следует длинное имя опции. Длинное имя опции можно сокращать, пока сокращение не будет однозначным. Например, --quit-at-eof можно сократить до --quit, но не до --qui, поскольку и --quit-at-eof, и --quiet начинаются с --qui. Некоторые длинные имена опций написаны заглавными буквами, например, --QUIT-AT-EOF, в отличие от --quit-at-eof. Для таких имен опций необходимо, чтобы только первая буква была написана с заглавной буквы; остальная часть имени может быть написана как строчными, так и заглавными буквами. Например, --Quitat-eof эквивалентно --QUIT-AT-EOF.

Переменная среды LESS также используется для передачи опций. Например, чтобы не вводить less -options ... каждый раз при запуске less, можно указать в csh:

setenv LESS "-options"

или, если вы используете `sh`:

LESS="-options"; export LESS

В MS-DOS и Windows не требуются кавычки, но следует быть осторожным, чтобы любые знаки процента в строке опций не интерпретировались как расширение переменной среды.

Переменная среды анализируется перед командной строкой, поэтому опции командной строки имеют приоритет над переменной среды LESS. Если опция присутствует в переменной LESS, её можно сбросить до значения по умолчанию на командной строке, добавив в начало опции префикс -+.

Некоторые опции, такие как -k или -D, требуют, чтобы за буквой опции следовала строка. Строка для этой опции считается заканчивающейся, когда будет найден символ доллара $. Например, можно задать две опции -D следующим образом:

LESS="Dnwb$Dsbw"

Если опция --use-backslash указана раньше в списке опций, то символ доллара или обратный слеш можно включить буквально в строку опции, добавив перед ним обратный слеш. Если опция --use-backslash не указана, обратные слеши не обрабатываются особым образом, и нет способа включить символ доллара в строку опции.

-? или --help

Эта опция отображает сводку команд, принимаемых less (то же самое, что и команда h). (В зависимости от того, как ваша оболочка интерпретирует знак вопроса, может потребоваться заключить знак вопроса в кавычки, например: "-\?")

-a или --search-skip-screen

По умолчанию при прямом поиске поиск начинается с верхней части отображаемого экрана, а при обратном поиске — с нижней части отображаемого экрана (за исключением повторных поисков, вызываемых командами n или N, которые начинаются после или перед "целевой" строкой соответственно; см. опцию -j для получения дополнительной информации о целевой строке). Опция -a приводит к тому, что при прямом поиске поиск вместо этого начинается с нижней части экрана, а при обратном поиске — с верхней части экрана, тем самым пропуская все строки, отображаемые на экране.

-A или --SEARCH-SKIP-SCREEN

Вызывает, чтобы все прямые поиски (а не только не повторяющиеся поиски) начинались сразу после целевой строки, а все обратные поиски — сразу перед целевой строкой. Таким образом, при прямом поиске будет пропущена часть отображаемого экрана (от первой строки до и включая целевую строку). Аналогично, при обратном поиске будет пропущен отображаемый экран от последней строки до и включая целевую строку. Такое поведение было по умолчанию в версиях less до 441.

-bn или --buffers=n

Указывает количество буферного пространства, которое less будет использовать для каждого файла, в единицах килобайтов (1024 байта). По умолчанию для каждого файла используется 64 КБ буферного пространства (если файл не является каналом; см. опцию -B). Опция -b указывает, что вместо этого должно использоваться n килобайтов буферного пространства для каждого файла. Если n равно -1, буферное пространство не ограничено, то есть весь файл можно прочитать в память.


-B или --auto-buffers
По умолчанию, когда данные считываются из канала, буферы выделяются автоматически по мере необходимости.
Если из канала считывается большой объем данных, это может привести к выделению большого количества памяти.
Опция -B отключает автоматическое выделение буферов для каналов, так что для канала используется только 64 КБ (или объем, указанный опцией -b).
Внимание: использование -B может привести к неверному отображению, так как в памяти хранится только последняя просмотренная часть данных канала; более ранние данные теряются.
Потерянные символы отображаются в виде вопросительных знаков.

-c или --clear-screen
Вызывает полное перерисовывание экрана сверху вниз. По умолчанию полное перерисовывание экрана выполняется путем прокрутки снизу вверх.

-C или --CLEAR-SCREEN
То же, что и -c, для совместимости со старыми версиями less.

-d или --dumb
Опция -d подавляет сообщение об ошибке, которое обычно отображается, если терминал "тупой", то есть не обладает некоторыми важными функциями, такими как возможность очистки экрана или прокрутки назад.
Опция -d не изменяет поведение less в "тупом" терминале.

-Dxcolor или --color=xcolor
Изменяет цвет различных частей отображаемого текста. x — это один символ, который выбирает тип текста, цвет которого устанавливается:

B      Двоичные символы.

C      Символы управления.

E      Сообщения об ошибках и информационные сообщения.

H      Строки и столбцы заголовка, заданные опцией --header.

M      Буквы-маркеры в столбце состояния.

N      Номера строк, включенные опцией -N.

P      Подсказки.

R      Символ rscroll.

S      Результаты поиска.

W      Выделение, включенное опцией -w.

15    Текст в результате поиска, который соответствует первому-пятому заключенным в скобки подшаблонам.
Подшаблонное выделение работает только в том случае, если less скомпилирован с одной из библиотек регулярных выражений posix, pcre или pcre2.

d      Полужирный текст.

k      Мигающий текст.

s      Выделенный текст.

u      Подчеркнутый текст.

Прописные буквы и цифры можно использовать только в том случае, если включена опция --use-color.
Когда цвет текста задается как прописной, так и строчной буквой, прописная буква имеет приоритет.
Например, сообщения об ошибках обычно отображаются выделенным текстом.
Таким образом, если и "s", и "E" получают цвет, цвет "E" применяется к сообщениям об ошибках, а цвет "s" применяется к другому выделенному тексту.
Строчные буквы относятся к полужирному и подчеркнутому тексту, формируемому путем перечеркивания пробелами (см. опцию -U), а также к нетекстовому содержимому (например, к номерам строк и подсказкам), но не к тексту, форматированному с помощью ANSI-последовательностей с помощью опции -R (но см. примечание ниже о другом поведении в Windows и MS-DOS).

За строчной буквой может следовать символ +, чтобы указать, что следует использовать как обычное изменение формата, так и указанный цвет.
Например, -Dug отображает подчеркнутый текст зеленым цветом без подчеркивания; зеленый цвет заменил обычное форматирование подчеркивания.
Но -Du+g отображает подчеркнутый текст как зеленым цветом и в подчеркнутом формате.

Цвет может быть представлен либо 4-битной строкой, либо 8-битной строкой:

4-битная строка цвета состоит из одного или двух символов, где первый символ указывает
цвет текста, а второй — цвет фона, следующим образом:

b — синий

c — голубой

g — зеленый

k — черный

m — пурпурный

r — красный

w — белый

y — желтый

Соответствующая заглавная буква обозначает более яркий оттенок цвета. Например,
-DNGk отображает номера строк как ярко-зеленый текст на черном фоне, а -DEbR отображает
сообщения об ошибках как синий текст на ярко-красном фоне. Если какой-либо из символов является "-" или отсутствует, соответствующий цвет устанавливается в цвет обычного текста.

8-битная строка цвета состоит из одного или двух десятичных чисел, разделенных точкой, где
первое число указывает цвет текста, а второе — цвет фона. Каждое число — это значение от 0 до 255 включительно, которое выбирает значение цвета "CSI 38;5" (см. https://en.wikipedia.org/wiki/ANSI_escape_code#SGR). Если какое-либо из чисел является "-" или отсутствует, соответствующий цвет устанавливается в цвет обычного текста.

После 4-битной или 8-битной строки цвета могут следовать один или несколько из следующих символов
для установки атрибутов текста в дополнение к цвету.

s или ~ — выделение (инверсия видео)

u или _ — подчеркивание

d или * — полужирный шрифт

l или & — мигание

В MS-DOS и Windows параметр --color работает иначе, чем описано выше, следующим образом:

Атрибуты полужирного шрифта (d и *) и мигающего шрифта (l и &) в конце строки цвета не поддерживаются.

Строчные буквы, обозначающие цвет, относятся к тексту, форматированному с помощью последовательностей ANSI с помощью -R, а также к перекрывающемуся и нетекстовому содержимому (но см. -Da).

По историческим причинам, когда после строчной буквы, обозначающей цвет, следует числовое значение цвета, это число не интерпретируется как значение цвета "CSI 38;5", как описано выше, а вместо этого рассматривается как значение CHAR_INFO.Attributes, которое находится в диапазоне от 0 до 15 включительно (см. https://learn.microsoft.com/en-us/windows/console/char-info-str).

Чтобы избежать путаницы, рекомендуется использовать эквивалентные буквы, а не числа после строчной буквы, обозначающей цвет, в MS-DOS/Windows.

Числовые значения цвета ("CSI 38;5") после заглавной буквы, обозначающей цвет, не поддерживаются в системах, выпущенных до Windows 10.

Только ограниченный набор последовательностей ANSI для установки цвета в содержимом работает правильно. 4-битные цветовые последовательности работают, но последовательности "CSI 38;5" не работают.

Параметр -Da изменяет поведение --color, делая его более похожим на поведение в не-MS-DOS/Windows системах, путем (1) предотвращения влияния строчных букв, обозначающих цвет, на текст, отформатированный с помощью последовательностей ANSI, и (2) разрешения последовательностям цветов "CSI 38;5" в содержимом работать путем передачи их в терминал (только в Windows 10 и более поздних версиях; в более ранних версиях Windows такие последовательности не работают, независимо от настройки -Da).

-e или --quit-at-eof
Заставляет less автоматически выходить при повторном достижении конца файла. По умолчанию,
единственный способ выйти из less — команда "q".

-E или --QUIT-AT-EOF
Заставляет less автоматически выходить при первом достижении конца файла.

-f или --force
Принудительно открывает нерегулярные файлы. (Нерегулярный файл — это каталог или специальный
файловый дескриптор.) Также подавляет предупреждающее сообщение при открытии двоичного файла.
По умолчанию less отказывается открывать нерегулярные файлы. Обратите внимание, что некоторые
операционные системы не позволят читать каталоги, даже если установлен параметр -f.

-F или --quit-if-one-screen
Заставляет less автоматически выходить, если весь файл можно отобразить на первом экране.

-g или --hilite-search
Обычно less выделяет ВСЕ строки, соответствующие последней команде поиска. Опция -g изменяет
это поведение, выделяя только ту строку, которая была найдена последней командой поиска. Это
может привести к тому, что less будет работать несколько быстрее, чем по умолчанию.

-G или --HILITE-SEARCH
Опция -G отключает выделение всех строк, найденных командами поиска.

-hn или --max-back-scroll=n
Указывает максимальное количество строк для прокрутки назад. Если необходимо прокрутить
назад больше, чем n строк, экран перерисовывается в прямом направлении. (Если терминал не
поддерживает прокрутку назад, подразумевается -h0.)

-i или --ignore-case
Заставляет поиск игнорировать регистр; то есть, верхний и нижний регистры считаются
одинаковыми. Эта опция игнорируется, если в шаблоне поиска есть буквы верхнего регистра;
другими словами, если шаблон содержит буквы верхнего регистра, то этот поиск не игнорирует
регистр.

-I или --IGNORE-CASE
Как и -i, но поиск игнорирует регистр, даже если шаблон содержит буквы верхнего регистра.

-jn или --jump-target=n
Указывает строку на экране, где должна быть расположена "целевая" строка. Целевая строка —
это строка, указанная любой командой для поиска шаблона, перехода к номеру строки, перехода
к проценту файла или перехода к тегу. Строку экрана можно указать числом: верхняя строка на
экране — 1, следующая — 2 и так далее. Число может быть отрицательным, чтобы указать строку
относительно нижней части экрана: нижняя строка на экране — -1, вторая снизу — -2 и так далее.
Кроме того, строку экрана можно указать как долю высоты экрана, начиная с десятичной точки: 0,5
— посередине экрана, 0,3 — три десятых от верхней строки и так далее. Если окно терминала
изменено, фактический номер строки пересчитывается, если строка указана как дробь. Если используется
опция --header и целевая строка, указанная с помощью -j, будет скрыта заголовком, целевая
строка перемещается на первую строку после заголовка. Во время использования опции --header
опция -S игнорируется, и строки, превышающие ширину экрана, обрезаются.

Если используется какая-либо форма опции -j, повторные прямые поиски (вызываемые командами "n" или "N") начинаются со строки, следующей непосредственно за целевой строкой, а повторные обратные поиски начинаются с целевой строки, если только это не изменено опциями -a или -A. Например, если используется "-j4", целевой строкой является четвертая строка на экране, поэтому прямые поиски начинаются с пятой строки на экране. Однако не повторяющиеся поиски (вызываемые командами "/" или "?") всегда начинаются с начала или конца текущего экрана соответственно.

-J или --status-column

Отображает столбец состояния на левом краю экрана. Символ, отображаемый в столбце состояния, может быть одним из следующих:

> Строка обрезана с помощью опции -S, и текст, который обрезается за правым краем экрана, содержит совпадение с текущим поиском.

< Строка горизонтально сдвинута, и текст, который сдвинут за левый край экрана, содержит совпадение с текущим поиском.

= Строка одновременно обрезается и сдвигается, и за обеими сторонами экрана есть совпадения.

* В видимой части строки есть совпадения, но за ее правым или левым краем их нет.

a-z, A-Z

Строка была помечена соответствующей буквой с помощью команды m.

-kfilename или --lesskey-file=filename

Заставляет less открывать и интерпретировать указанный файл как двоичный файл lesskey(1). Можно указать несколько опций -k. Если установлены переменные среды LESSKEY или LESSKEY_SYSTEM, или если файл lesskey найден в стандартном месте (см. KEY BINDINGS), он также используется как файл lesskey. Обратите внимание на предупреждение в разделе "--lesskey-content" ниже.

--lesskey-src=filename

Заставляет less открывать и интерпретировать указанный файл как исходный файл lesskey(1). Если установлены переменные среды LESSKEYIN или LESSKEYIN_SYSTEM, или если исходный файл lesskey найден в стандартном месте (см. KEY BINDINGS), он также используется как исходный файл lesskey. В версиях до 582 программу lesskey необходимо было запускать для преобразования исходного файла lesskey в двоичный файл lesskey, который использовался less. В более новых версиях less считывает исходный файл lesskey напрямую и игнорирует двоичный файл, если существует исходный файл. Обратите внимание на предупреждение в разделе "--lesskey-content" ниже.

--lesskey-content=text

Заставляет less интерпретировать указанный текст как содержимое исходного файла lesskey(1). В тексте строки lesskey могут быть разделены либо обычными переводами строк, либо точками с запятой. Литеральную точку с запятой можно представить как обратную косую черту, за которой следует точка с запятой.

Предупреждение: определенные переменные среды, такие как LESS, LESSSECURE, LESSCHARSET и другие, которые используются в начале запуска, не могут быть установлены в файле, указанном в параметре командной строки (--lesskey, --lesskey-src или --lesskey-content). При использовании файла lesskey для установки переменных среды безопаснее использовать файл lesskey по умолчанию или указать файл с помощью переменных среды LESSKEYIN или LESSKEY_CONTENT, а не использовать параметр командной строки.


-K или --quit-on-intr
Приводит к тому, что less немедленно завершает работу (со статусом 2) при вводе символа прерывания (обычно ^C). Обычно символ прерывания заставляет less прекратить выполнение текущей операции и вернуться к командной строке. Обратите внимание, что использование этого параметра делает невозможным возврат к командной строке с помощью команды "F".

-L или --no-lessopen
Игнорирует переменную окружения LESSOPEN (см. раздел "ВХОДНОЙ ПРЕПРОЦЕССОР" ниже). Этот параметр можно установить внутри less, но он будет применяться только к файлам, открытым впоследствии, а не к файлу, который в данный момент открыт.

-m или --long-prompt
Заставляет less выводить подробные подсказки (как more(1)), с указанием процента, пройденного в файле. По умолчанию less выводит подсказку в виде двоеточия.

-M или --LONG-PROMPT
Заставляет less выводить еще более подробные подсказки, чем more(1).

-n или --line-numbers
Отключает отображение номеров строк. По умолчанию (использование номеров строк) может привести к тому, что less будет работать медленнее в некоторых случаях, особенно с очень большим входным файлом. Отключение номеров строк с помощью параметра -n позволяет избежать этой проблемы. Использование номеров строк означает: номер строки будет отображаться в подробной подсказке и в команде =, а команда v будет передавать текущий номер строки редактору (см. также обсуждение LESSEDIT в разделе "ПОДСКАЗКИ" ниже).

-N или --LINE-NUMBERS
Заставляет отображать номер строки в начале каждой строки в отображении.

-ofilename или --log-file=filename
Заставляет less копировать свой вход в указанный файл по мере просмотра. Это применяется только в том случае, когда входной файл является каналом, а не обычным файлом. Если файл уже существует, less запросит подтверждение перед перезаписью.

-Ofilename или --LOG-FILE=filename
Параметр -O аналогичен -o, но он перезапишет существующий файл без запроса подтверждения.

Если файл журнала не указан, параметры -o и -O можно использовать внутри less, чтобы указать файл журнала. Без имени файла они просто сообщат имя файла журнала. Команда "s" эквивалентна указанию -o внутри less.

-ppattern или --pattern=pattern
Параметр -p в командной строке эквивалентен указанию +/pattern; то есть он указывает less начать с первого вхождения шаблона в файле.

-Pprompt или --prompt=prompt
Предоставляет способ настроить три стиля подсказок в соответствии с вашими предпочтениями. Этот параметр обычно помещается в переменную окружения LESS, а не вводится с каждой командой less. Такой параметр должен быть либо последним параметром в переменной LESS, либо завершаться знаком доллара.
-Ps, за которым следует строка, изменяет стандартную (короткую) подсказку на эту строку.
-Pm изменяет подсказку средней длины (-m).
-PM изменяет длинную подсказку (-M).
-Ph изменяет подсказку для экрана справки.
-P= изменяет сообщение, выводимое командой =.
-Pw изменяет сообщение, выводимое при ожидании данных (в команде "F").

Все строки команд состоят из последовательности букв и специальных управляющих последовательностей. См. раздел «ПРОМПТЫ» для получения дополнительной информации.

-q или --quiet или --silent

Вызывает умеренно «тихую» работу: если происходит попытка прокрутить файл за пределы его начала или конца, терминальный сигнал не воспроизводится. Если в терминале есть «визуальный сигнал», он используется вместо этого. Сигнал будет воспроизводиться в случае других ошибок, например, при вводе недопустимого символа. По умолчанию сигнал воспроизводится во всех таких случаях.

-Q или --QUIET или --SILENT

Вызывает полностью «тихую» работу: терминальный сигнал никогда не воспроизводится. Если в терминале есть «визуальный сигнал», он используется во всех случаях, когда должен был быть воспроизведен терминальный сигнал.

-r или --raw-control-chars

Вызывает отображение «сырых» управляющих символов. По умолчанию управляющие символы отображаются с использованием обозначения «крышка»; например, управляющий символ Control-A (восьмеричный 001) отображается как "^A" (с некоторыми исключениями, как описано в опции -U). Предупреждение: при использовании опции -r, less не может отслеживать фактическое отображение экрана (поскольку это зависит от того, как экран реагирует на каждый тип управляющего символа). Таким образом, могут возникнуть различные проблемы с отображением, такие как разделение длинных строк в неправильном месте.

ИСПОЛЬЗОВАНИЕ ОПЦИИ -r НЕ РЕКОМЕНДУЕТСЯ.

-R или --RAW-CONTROL-CHARS

Аналогично -r, но только ANSI-последовательности «цвета» и последовательности гиперссылок OSC 8 выводятся в «сыром» виде. В отличие от -r, отображение экрана остается правильным, при условии, что в файле нет других управляющих последовательностей, кроме этих типов. Последовательности цветов поддерживаются только в том случае, если цвет изменяется в пределах одной строки, а не между строками. Другими словами, начало каждой строки предполагается нормальным (не цветным), независимо от управляющих последовательностей в предыдущих строках. Для целей отслеживания отображения экрана предполагается, что эти управляющие последовательности не перемещают курсор.

Последовательности гиперссылок OSC 8 имеют вид:

ESC ] 8 ; ... \7

терминирующая последовательность может быть либо символом BEL (\7), либо двухсимвольной последовательностью
«ESC \».

Последовательности цветов ANSI имеют вид:

ESC [ ... m

где «…» — это ноль или более символов спецификации цвета. Вы можете заставить less думать, что символы, отличные от «m», могут завершать последовательности цветов ANSI, установив переменную среды LESSANSIENDCHARS в список символов, которые могут завершать последовательность цветов. И вы можете заставить less думать, что между ESC и m могут появляться символы, отличные от стандартных, установив переменную среды LESSANSIMIDCHARS в
список символов, которые могут появляться.

-s или --squeeze-blank-lines

Вызывает сжатие последовательных пустых строк в одну пустую строку. Это полезно при просмотре выходных данных nroff.

-S или --chop-long-lines

Вызывает обрезку (усечение) строк, превышающих ширину экрана, вместо их переноса. То есть часть длинной строки, которая не помещается на ширине экрана, не отображается, пока вы не нажмете RIGHT-ARROW. По умолчанию длинные строки переносятся, то есть остаток отображается на следующей строке. См. также опцию --wordwrap.


-ttag или --tag=tag

Опция -t, за которой сразу следует ТЕГ, позволит открыть файл, содержащий этот тег. Для этого должна быть доступна информация о тегах; например, в текущем каталоге может быть файл с именем "tags", который ранее был создан с помощью ctags(1) или эквивалентной команды. Если установлена переменная среды LESSGLOBALTAGS, предполагается, что она содержит имя команды, совместимой с global(1), и эта команда выполняется для поиска тега. (См. (http://www.gnu.org/software/global/global.html)). Опцию -t также можно указать внутри less (используя команду -) в качестве способа просмотра нового файла. Команда ":t" эквивалентна указанию -t внутри less.

-Ttagsfile или --tag-file=tagsfile

Указывает файл тегов, который будет использоваться вместо "tags".

-u или --underline-special

В результате символы возврата и перевода строки обрабатываются как печатаемые символы; то есть, они отправляются в терминал при их появлении во входных данных.

-U или --UNDERLINE-SPECIAL

Символы возврата, табуляции, перевода строки и "символы форматирования" (как определено в Unicode) обрабатываются как управляющие символы; то есть, они обрабатываются в соответствии с опцией -r.

По умолчанию, если ни -u, ни -U не указаны, символы возврата, которые появляются рядом с символом подчеркивания, обрабатываются особым образом: текст с подчеркиванием отображается с использованием аппаратных возможностей подчеркивания терминала. Кроме того, символы возврата, которые появляются между двумя одинаковыми символами, обрабатываются особым образом: текст, выделенный полужирным шрифтом, выводится с использованием аппаратных возможностей полужирного шрифта терминала. Остальные символы возврата удаляются вместе с предыдущим символом. Символы перевода строки, непосредственно за которыми следует символ новой строки, удаляются. Остальные символы перевода строки обрабатываются в соответствии с опцией -r. Символы форматирования Unicode, такие как символ порядка байтов (BOM), отправляются в терминал. Текст, выделенный полужирным шрифтом или подчеркнутый, можно искать, если ни -u, ни -U не указаны.

См. также опции --proc-backspace, --proc-tab и --proc-return.

-V или --version

Отображает номер версии less.

-w или --hilite-unread

Временно выделяет первую "новую" строку после перемещения на полную страницу вперед. Первая "новая" строка — это строка, непосредственно следующая за строкой, которая ранее находилась внизу экрана. Также выделяет целевую строку после команд g или p. Выделение удаляется при следующей команде, вызывающей перемещение. Если активна опция --status-line, выделяется вся строка (ширина экрана). В противном случае выделяется только текст в строке, если только не активна опция -J, в этом случае выделяется только столбец состояния.


-W или --HILITE-UNREAD
Подобно -w, но временно выделяет первую новую строку после любой команды перемещения вперед, превышающей одну строку.

-xn,... или --tabs=n,...
Устанавливает позиции табуляции. Если указано только одно значение n, позиции табуляции устанавливаются как кратные n. Если указано несколько значений, разделенных запятыми, позиции табуляции устанавливаются в этих позициях, а затем продолжают использовать то же расстояние, что и для последних двух значений. Например, "-x9,17" установит позиции табуляции в 9, 17, 25, 33 и т. д. Значение по умолчанию для n равно 8.

-X или --no-init
Отключает отправку строк инициализации и деинициализации termcap в терминал. Это иногда желательно, если строка деинициализации выполняет ненужные действия, например, очистку экрана.

-yn или --max-forw-scroll=n
Указывает максимальное количество строк для прокрутки вперед. Если необходимо прокрутить вперед больше, чем n строк, экран перерисовывается. Опция -c или -C может использоваться для перерисовки экрана, начиная с верхней части, если это необходимо. По умолчанию любое перемещение вперед приводит к прокрутке.

-zn или --window=n или -n
Изменяет размер окна прокрутки по умолчанию до n строк. По умолчанию используется один экран. Команды z и w также могут использоваться для изменения размера окна. "z" можно опустить для совместимости с некоторыми версиями more(1). Если число n отрицательное, оно указывает на n строк меньше текущего размера экрана. Например, если размер экрана 24 строки, -z-4 устанавливает размер окна прокрутки в 20 строк. Если размер экрана изменяется до 40 строк, размер окна прокрутки автоматически изменяется до 36 строк.

-"cc или --quotes=cc
Изменяет символ кавычек имени файла. Это может потребоваться, если вы пытаетесь назвать файл, содержащий как пробелы, так и символы кавычек. Если после этого указать один символ, символ кавычек изменяется на этот символ. Имена файлов, содержащие пробелы, затем должны быть заключены в этот символ, а не в двойные кавычки. Если после этого указать два символа, открывающая кавычка изменяется на первый символ, а закрывающая кавычка — на второй символ. Имена файлов, содержащие пробелы, затем должны быть предварены символом открывающей кавычки и завершены символом закрывающей кавычки. Обратите внимание, что даже после изменения символов кавычек эта опция остается -" (дефис, за которым следует двойная кавычка).

-~ или --tilde
Обычно строки после конца файла отображаются как одна тильда (\~). Эта опция приводит к тому, что строки после конца файла отображаются как пустые строки.

-# или --shift
Указывает количество позиций по умолчанию для горизонтальной прокрутки в командах RIGHTARROW и LEFTARROW. Если указанное число равно нулю, это устанавливает количество позиций по умолчанию равным половине ширины экрана. Кроме того, число может быть указано в виде доли ширины экрана, начиная с десятичной точки: .5 — половина ширины экрана, .3 — три десятых ширины экрана и т. д. Если число указано в виде дроби, фактическое количество позиций прокрутки пересчитывается, если размер терминального окна изменяется.

--exit-follow-on-close

При использовании команды "F" в конвейере, less автоматически прекратит ожидание дополнительных данных, когда входная сторона конвейера будет закрыта.

--file-size

Если указан параметр --file-size, less определит размер файла сразу после его открытия. Затем команда "=" отобразит количество строк в файле. Обычно этого не делается, так как это может быть медленным, если входной файл не поддерживает произвольный доступ (например, конвейер) и является большим.

--follow-name

Обычно, если входной файл переименовывается во время выполнения команды F, less продолжит отображать содержимое исходного файла, несмотря на изменение его имени. Если указан параметр --follow-name, во время выполнения команды F less будет периодически пытаться повторно открыть файл по имени. Если повторное открытие пройдет успешно и файл окажется другим, чем исходный (что означает, что новый файл был создан с тем же именем, что и исходный (теперь переименованный) файл), less отобразит содержимое этого нового файла.

--header=L,C,N

Устанавливает количество строк заголовка и столбцов, отображаемых на экране. Количество строк заголовка устанавливается равным L. Если L равно 0, строки заголовка отключаются. Если L отсутствует или не указано, количество строк заголовка остается прежним. Количество столбцов заголовка устанавливается равным C. Если C равно 0, столбцы заголовка отключаются. Если C отсутствует или не указано, количество столбцов заголовка остается прежним. Первая строка заголовка устанавливается на строку N в файле. Если N отсутствует или не указано, предполагается, что это номер строки, которая в данный момент отображается в первой строке экрана (если команда --header была выдана внутри less), или 1 (если параметр --header был передан в командной строке). Специальная форма "--header=-" отключает строки заголовка и столбцы заголовка и эквивалентна "--header=0,0".

Когда L не равно нулю, первые L строк в верхней части экрана заменяются L строками файла, начиная со строки N, независимо от того, какая часть файла просматривается. Когда отображаются строки заголовка, содержимое файла перед строкой заголовка не может быть просмотрено. Когда C не равно нулю, первые C символов, отображаемых в начале каждой строки, заменяются первыми C символами строки, даже если остальная часть строки прокручивается горизонтально.

--incsearch

Последующие команды поиска будут "инкрементными"; то есть less будет переходить к следующей строке, содержащей шаблон поиска, по мере ввода каждого символа шаблона.

--intr=c

Используйте символ c вместо ^X для прерывания чтения, когда отображается сообщение "Ожидание данных". c должен быть ASCII-символом, то есть иметь значение от 1 до 127 включительно. Символ "^", за которым следует один символ, можно использовать для указания управляющего символа.

--line-num-width=n

Устанавливает минимальную ширину поля номера строки, когда активен параметр -N, равной n символам. Значение по умолчанию — 7.


--match-shift=n

Когда активен параметр -S, если совпадение при поиске не видно, потому что оно сдвинуто влево или вправо от текущей видимой области экрана, текст будет горизонтально сдвигаться, чтобы обеспечить видимость совпадения при поиске. Этот параметр определяет столбец, в котором будет размещен первый символ совпадения при поиске после сдвига. Другими словами, слева от совпадения при поиске будет видно n символов.

В качестве альтернативы, число можно указать в виде доли от ширины экрана, начиная с десятичной точки: .5 — это половина ширины экрана, .3 — три десятых ширины экрана и так далее. Если число указано в виде дроби, фактическое количество позиций прокрутки пересчитывается, если изменяется размер окна терминала.

--modelines=n

Перед отображением файла less считывает первые n строк, чтобы найти модельную строку, совместимую с vim. Если n равно нулю, less не пытается найти модельные строки. Используя модельную строку, сам файл может указать, какие табуляции следует использовать при его просмотре.

Модельная строка содержит где-либо в строке имя программы ("vi", "vim", "ex" или "less"), за которым следует двоеточие, возможно, за которым следует слово "set", и, наконец, за которым следует ноль или более настроек параметров. Если используется слово "set", настройки параметров разделяются пробелами и заканчиваются первым двоеточием. Если слово "set" не используется, настройки параметров могут быть разделены либо пробелами, либо двоеточиями. Слово "set" требуется, если имя программы — "less", но необязательно, если используется любое из трех других имен. Если какая-либо настройка параметра имеет форму "tabstop=n" или "ts=n", то табуляции автоматически устанавливаются так, как если бы был указан параметр --tabs=n. См. описание параметра --tabs для допустимых значений n.

--mouse

Включает ввод с помощью мыши: прокрутка колесика мыши вниз перемещает курсор вперед в файле, прокрутка колесика мыши вверх перемещает курсор назад в файле, щелчок левой кнопкой мыши устанавливает метку "#" на строке, на которой находится курсор мыши, а щелчок правой кнопкой мыши (или любой другой) возвращает курсор в положение метки "\#". Если щелчок левой кнопкой мыши выполняется, когда курсор мыши находится на гиперссылке OSC 8, гиперссылка выбирается так, как если бы была использована команда ^O^N. Если щелчок левой кнопкой мыши выполняется, когда курсор мыши находится на уже выбранной гиперссылке OSC 8, гиперссылка открывается так, как если бы была использована команда ^O^O. Количество строк, на которое происходит прокрутка при перемещении колесика, можно задать с помощью параметра --wheel-lines. Ввод с помощью мыши работает только на терминалах, поддерживающих отчетность о мыши X11, и в версии less для Windows.

--MOUSE

Аналогично --mouse, за исключением того, что направление прокрутки при перемещении колесика мыши меняется на противоположное.

--no-keypad

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

--no-histdups

Этот параметр изменяет поведение таким образом, что если ввести строку поиска или имя файла, и эта же строка уже есть в списке истории, существующая копия удаляется из списка истории, прежде чем добавляется новая. Таким образом, данная строка будет появляться только один раз в списке истории. Обычно строка может появляться несколько раз.


--no-number-headers

Строкам заголовка (определяемым с помощью опции --header) не присваиваются номера строк. Первая строка после любых строк заголовка получает номер 1.

--no-search-header-lines

Поиск не включает строки заголовка, но включает столбцы заголовка.

--no-search-header-columns

Поиск не включает столбцы заголовка, но включает строки заголовка.

--no-search-headers

Поиск не включает строки заголовка и столбцы заголовка.

--no-vbell

Отключает визуальный сигнал терминала.

--proc-backspace

Если установлено, символы возврата (backspace) обрабатываются так, как если бы опции -u и -U не были установлены. То есть, символ возврата, следующий непосредственно за подчеркиванием, приводит к отображению текста в режиме подчеркивания, а символ возврата между одинаковыми символами приводит к отображению текста в жирном стиле. Эта опция переопределяет опции -u и -U, поэтому отображение символов возврата можно контролировать отдельно от табуляции и символов возврата каретки. Если не установлено, отображение символов возврата контролируется опциями -u и -U.

--PROC-BACKSPACE

Если установлено, символы возврата обрабатываются так, как если бы была установлена опция -U; то есть символы возврата рассматриваются как управляющие символы.

--proc-return

Если установлено, символы возврата каретки обрабатываются так, как если бы опции -u и -U не были установлены. То есть, символ возврата каретки непосредственно перед символом новой строки удаляется. Эта опция переопределяет опции -u и -U, поэтому отображение символов возврата каретки можно контролировать отдельно от символов возврата и табуляции. Если не установлено, отображение символов возврата каретки контролируется опциями -u и -U.

--PROC-RETURN

Если установлено, символы возврата каретки обрабатываются так, как если бы была установлена опция -U; то есть символы возврата каретки рассматриваются как управляющие символы.

--proc-tab

Если установлено, табуляции обрабатываются так, как если бы опция -U не была установлена. То есть табуляции заменяются пробелами. Эта опция переопределяет опцию -U, поэтому отображение табуляций можно контролировать отдельно от символов возврата и символов возврата каретки. Если не установлено, отображение табуляций контролируется опцией -U.

--PROC-TAB

Если установлено, табуляции обрабатываются так, как если бы была установлена опция -U; то есть табуляции рассматриваются как управляющие символы.

--redraw-on-quit

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

--rscroll=c

Эта опция изменяет символ, используемый для обозначения усеченных строк. Она может начинаться с двухсимвольного индикатора атрибутов, как и LESSBINFMT. Если индикатора атрибутов нет, используется выделение. Если установлено значение "-", усеченные строки не помечаются.


--save-marks
Сохраняет метки в файле истории, чтобы метки сохранялись между разными запусками `less`.

--search-options=...
Задает модификаторы поиска по умолчанию. Значение представляет собой строку, состоящую из одной или нескольких букв E, F, K, N, R или W. Установка любой из этих букв дает тот же эффект, что и ввод соответствующего управляющего символа в начале каждого шаблона поиска. Например, установка `--search-options=W` эквивалентна вводу `^W` в начале каждого шаблона. Значение также может содержать цифру от 1 до 5, что дает тот же эффект, что и ввод `^S`, за которым следует эта цифра, в начале каждого шаблона поиска. Значение `-` отключает все модификаторы поиска по умолчанию.

--show-preproc-errors
Если препроцессор генерирует данные, а затем завершается с ненулевым кодом выхода, `less` отображает предупреждение.

--status-col-width=n
Задает ширину столбца состояния, когда используется опция -J. Значение по умолчанию — 2 символа.

--status-line
Если строка помечена, вся строка (а не только столбец состояния) выделяется. Кроме того, строки, выделенные опцией -w, будут выделены целиком. Если установлена опция `--use-color`, строка окрашивается, а не выделяется.

--use-backslash
Эта опция изменяет интерпретацию последующих опций. После опции `--use-backslash` любой символ обратной косой черты в строке опции удаляется, и следующий символ воспринимается буквально. Это позволяет включать знак доллара в строки опций.

--use-color
Включает цветной текст в различных местах. Опция -D может использоваться для изменения цветов. Цветной текст работает только в том случае, если терминал поддерживает ANSI-последовательности управления цветом (определенные в [https://www.ecma-international.org/publications-and-standards/standards/ecma-48](https://www.ecma-international.org/publications-and-standards/standards/ecma-48)).

--wheel-lines=n
Задает количество строк, на которые прокручивается при прокрутке колесика мыши, если активны опции `--mouse` или `--MOUSE`. Значение по умолчанию — 1 строка.

--wordwrap
Когда опция -S не используется, оборачивает каждую строку в точке пробела или табуляции, если это возможно, чтобы слово не разделялось между двумя строками. По умолчанию обтекание выполняется по любому символу.

--
Аргумент командной строки `--` обозначает конец аргументов опций. Все аргументы, следующие за этим, интерпретируются как имена файлов. Это может быть полезно при просмотре файла, имя которого начинается с `-` или `+`.

+
Если командная опция начинается с `+`, оставшаяся часть этой опции рассматривается как начальная команда для `less`. Например, `+G` указывает `less` начинать с конца файла, а не с начала, а `+/xyz` указывает ей начать с первого вхождения строки "xyz" в файле. В качестве особого случая, `+<number>` действует как `+<number>g`, то есть начинает отображение с указанного номера строки (однако см. предупреждение, приведенное выше для команды "g"). Если опция начинается с `++`, начальная команда применяется ко всем просматриваемым файлам, а не только к первому. Команда `+`, описанная ранее, также может использоваться для установки (или изменения) начальной команды для всех файлов.

РЕДАКТИРОВАНИЕ СТРОКИ КОМАНД

При вводе команды в строке внизу экрана (например, имени файла для команды :e или шаблона для команды поиска) можно использовать определенные клавиши для изменения строки команды. Большинство команд имеют альтернативную форму в [квадратных скобках], которую можно использовать, если клавиша отсутствует на определенной клавиатуре. (Обратите внимание, что формы, начинающиеся с ESC, могут не работать в некоторых системах MS-DOS и Windows, потому что ESC — это символ стирания строки.) Любую из этих специальных клавиш можно ввести буквально, добавив перед ней символ "literal", либо ^V, либо ^A. Косую черту можно ввести буквально, введя две косые черты.

LEFTARROW [ ESC-h ]

Переместить курсор на один пробел влево.

RIGHTARROW [ ESC-l ]

Переместить курсор на один пробел вправо.

^LEFTARROW [ ESC-b или ESC-LEFTARROW ]
(То есть, CONTROL и LEFTARROW одновременно.) Переместить курсор на одно слово влево.

^RIGHTARROW [ ESC-w или ESC-RIGHTARROW ]
(То есть, CONTROL и RIGHTARROW одновременно.) Переместить курсор на одно слово вправо.

HOME [ ESC-0 ]

Переместить курсор в начало строки.

END [ ESC-$ ]

Переместить курсор в конец строки.

BACKSPACE

Удалить символ слева от курсора или отменить команду, если строка команды пуста.

DELETE или [ ESC-x ]

Удалить символ под курсором.

^BACKSPACE [ ESC-BACKSPACE ]
(То есть, CONTROL и BACKSPACE одновременно.) Удалить слово слева от курсора.

^DELETE [ ESC-X или ESC-DELETE ]
(То есть, CONTROL и DELETE одновременно.) Удалить слово под курсором.

UPARROW [ ESC-k ]

Получить предыдущую строку команды. Если сначала ввести текст, а затем нажать UPARROW, будет получена предыдущая команда, начинающаяся с этого текста.

DOWNARROW [ ESC-j ]

Получить следующую строку команды. Если сначала ввести текст, а затем нажать DOWNARROW, будет получена следующая команда, начинающаяся с этого текста.

TAB    Завершить частичное имя файла слева от курсора. Если соответствует более чем одному имени файла, первое соответствие вводится в строку команды. Повторные нажатия TAB будут перебирать другие соответствующие имена файлов. Если завершенное имя файла является каталогом, к имени файла добавляется "/". (В системах MS-DOS и Windows добавляется "\"). Переменная окружения `LESSSEPARATOR` может использоваться для указания другого символа, который будет добавляться к имени каталога.

BACKTAB [ ESC-TAB ]

Как TAB, но перебирает соответствующие имена файлов в обратном направлении.

^L    Завершить частичное имя файла слева от курсора. Если соответствует более чем одному имени файла, все соответствия вводятся в строку команды (если они помещаются).

^U (Unix и OS/2) или ESC (MS-DOS и Windows)

Удалить всю строку команды или отменить команду, если строка команды пуста. Если вы изменили символ стирания строки в Unix на другой, отличный от ^U, используется этот символ вместо ^U.


^G     Удаляет всю строку команд и возвращает в основное приглашение.

СОЧЕТАНИЯ КЛАВИШ

Вы можете определить свои собственные команды less, создав файл источника lesskey. Этот файл определяет набор клавиш команд и действие, связанное с каждой клавишей. Вы также можете изменить клавиши редактирования строк (см. РЕДАКТИРОВАНИЕ СТРОК) и задать переменные среды, используемые less. Подробная информация о формате файла приведена на странице руководства lesskey(1).

Если переменная среды LESSKEYIN установлена, less использует ее в качестве имени файла источника lesskey. В противном случае less ищет в стандартном месте файл источника lesskey: в системах Unix less ищет файл lesskey с именем "$XDG_CONFIG_HOME/lesskey" или "$HOME/.config/lesskey" или "$HOME/.lesskey". В системах MS-DOS и Windows less ищет файл lesskey с именем "$HOME/_lesskey", и, если его там не найдет, то ищет файл lesskey с именем "_lesskey" в любом каталоге, указанном в переменной среды PATH. В системах OS/2 less ищет файл lesskey с именем "$HOME/lesskey.ini", и, если его там не найдет, то ищет файл lesskey с именем "lesskey.ini" в любом каталоге, указанном в переменной среды INIT, и, если его там не найдет, то ищет файл lesskey с именем "lesskey.ini" в любом каталоге, указанном в переменной среды PATH.

Также можно настроить общесистемный файл источника lesskey для предоставления сочетаний клавиш. Если клавиша определена как в локальном файле lesskey, так и в общесистемном файле, сочетания клавиш в локальном файле имеют приоритет над сочетаниями клавиш в общесистемном файле. Если переменная среды LESSKEYIN_SYSTEM установлена, less использует ее в качестве имени общесистемного файла lesskey. В противном случае less ищет в стандартном месте общесистемный файл lesskey: в системах Unix общесистемный файл lesskey находится в /usr/local/etc/syslesskey. (Однако, если less был создан с использованием другого каталога sysconf, отличного от /usr/local/etc, этот каталог является местом, где находится файл sysless). В системах MS-DOS и Windows общесистемный файл lesskey находится в c:_syslesskey. В системах OS/2 общесистемный файл lesskey находится в c:\syslesskey.ini.

В предыдущих версиях less (до версии 582) использовались файлы lesskey в двоичном формате, созданные программой lesskey. Теперь использование программы lesskey не требуется.

ПРЕПРОЦЕССОР ВХОДНЫХ ДАННЫХ

Вы можете определить «препроцессор входных данных» для less. Прежде чем less откроет файл, он сначала дает вашему препроцессору входных данных возможность изменить способ отображения содержимого файла. Препроцессор входных данных — это просто исполняемая программа (или сценарий оболочки), которая записывает содержимое файла в другой файл, называемый файлом-заменителем. Содержимое файла-заменителя затем отображается вместо содержимого исходного файла. Однако пользователю будет казаться, что открыт исходный файл; то есть less будет отображать исходное имя файла в качестве имени текущего файла.


Входной препроцессор принимает один аргумент командной строки: имя исходного файла, введенное пользователем. Он должен создать файл-заменитель и, по завершении, вывести имя файла-заменителя в стандартный вывод. Если входной препроцессор не выводит имя файла-заменителя, less использует исходный файл, как обычно. Входной препроцессор не вызывается при просмотре стандартного ввода. Чтобы настроить входной препроцессор, установите переменную окружения LESSOPEN в командную строку, которая будет вызывать ваш входной препроцессор. Эта командная строка должна содержать одно вхождение строки "%s", которое будет заменено именем файла при вызове команды входного препроцессора.

Когда less закрывает файл, открытый таким образом, она вызывает другую программу, называемую входным постпроцессором, которая может выполнять любые необходимые действия по очистке (например, удалять файл-заменитель, созданный LESSOPEN). Эта программа получает два аргумента командной строки: имя исходного файла, введенное пользователем, и имя файла-заменителя. Чтобы настроить входной постпроцессор, установите переменную окружения LESSCLOSE в командную строку, которая будет вызывать ваш входной постпроцессор. Она может содержать два вхождения строки "%s"; первое заменяется исходным именем файла, а второе — именем файла-заменителя, который был выведен LESSOPEN.

Например, во многих системах Unix следующие два скрипта позволяют хранить файлы в сжатом формате, но при этом просматривать их непосредственно с помощью less:

lessopen.sh:
#! /bin/sh
case "$1" in
*.Z) TEMPFILE=$(mktemp)
uncompress -c $1  >$TEMPFILE  2>/dev/null
if [ -s $TEMPFILE ]; then
echo $TEMPFILE
else
rm -f $TEMPFILE
fi
;;
esac

lessclose.sh:
#! /bin/sh
rm $2

Чтобы использовать эти скрипты, поместите их в место, где они могут быть выполнены, и установите LESSOPEN="lessopen.sh %s", а LESSCLOSE="lessclose.sh %s %s". Более сложные скрипты LESSOPEN и LESSCLOSE могут быть написаны для поддержки других типов сжатых файлов и т. д.

Также можно настроить входной препроцессор для прямой передачи данных файла в less, а не для помещения данных в файл-заменитель. Это позволяет избежать необходимости распаковывать весь файл перед началом просмотра. Входной препроцессор, работающий таким образом, называется входным каналом. Вместо того чтобы записывать имя файла-заменителя в стандартный вывод, входной канал записывает все содержимое файла-заменителя в стандартный вывод. Если входной канал не записывает символы в стандартный вывод, то файл-заменитель отсутствует, и less использует исходный файл, как обычно. Чтобы использовать входной канал, сделайте первый символ в переменной окружения LESSOPEN вертикальной чертой (|), чтобы указать, что входной препроцессор является входным каналом. Как и в случае с входными препроцессорами, которые не являются каналами, командная строка должна содержать одно вхождение %s, которое заменяется именем файла входного файла.


Например, в большинстве систем Unix этот скрипт будет работать так же, как и предыдущие примеры скриптов:

lesspipe.sh:
#! /bin/sh
case "$1" in
*.Z) uncompress -c $1  2>/dev/null
;;
*)   exit 1
;;
esac
exit $?

Чтобы использовать этот скрипт, поместите его туда, где он может быть выполнен, и установите LESSOPEN="|lesspipe.sh %s".

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

Для совместимости с предыдущими версиями less, если LESSOPEN начинается только с одной вертикальной черты, код возврата препроцессора игнорируется.

При использовании входного потока можно использовать постобработчик LESSCLOSE, но обычно это не требуется, поскольку не нужно очищать файл замены. В этом случае имя файла замены, передаваемое в постобработчик LESSCLOSE, — «-».

Для совместимости с предыдущими версиями less, входной препроцессор или конвейер не используются, если less просматривает стандартный ввод. Однако, если первый символ в LESSOPEN — дефис (-), входной препроцессор используется для стандартного ввода, а также для других файлов. В этом случае дефис не считается частью команды препроцессора. Если просматривается стандартный ввод, входному препроцессору передается имя файла, состоящее из одного дефиса. Аналогично, если первые два символа в LESSOPEN — вертикальная черта и дефис (|-), или две вертикальные черты и дефис (||-), входной конвейер используется для стандартного ввода, а также для других файлов. Опять же, в этом случае дефис не считается частью команды входного конвейера.

НАЦИОНАЛЬНЫЕ НАБОРЫ СИМВОЛОВ

Входной файл содержит три типа символов:

обычные символы,
которые можно отображать непосредственно на экране.

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

двоичные символы,
которые не следует отображать непосредственно и которые не должны встречаться в текстовых файлах.

«Набор символов» — это просто описание того, какие символы следует считать обычными, управляющими и двоичными. Переменная среды LESSCHARSET может использоваться для выбора набора символов. Возможные значения для LESSCHARSET:

ascii: BS, TAB, NL, CR и перевод строки являются управляющими символами, все символы со значениями от 32 до 126 являются обычными, а все остальные — двоичными.

iso8859:
Выбирает набор символов ISO 8859. Это то же самое, что и ASCII, за исключением того, что символы от 160 до 255 рассматриваются как обычные символы.

latin1 То же, что и iso8859.

latin9 То же, что и iso8859.

dos Выбирает набор символов, подходящий для MS-DOS.

ebcdic Выбирает набор символов EBCDIC.

IBM-1047

Выбирает набор символов EBCDIC, используемый OS/390 Unix Services. Это аналог EBCDIC для latin1. Аналогичные результаты можно получить, установив либо LESSCHARSET=IBM-1047, либо LC_CTYPE=en_US в вашей среде.

koi8-r Выбирает русский набор символов.

next Выбирает набор символов, подходящий для компьютеров NeXT.

utf-8 Выбирает кодировку UTF-8 набора символов ISO 10646. UTF-8 является особенной в том, что поддерживает многобайтовые символы во входном файле. Это единственный набор символов, поддерживающий многобайтовые символы.

windows

Выбирает набор символов, подходящий для Microsoft Windows (cp 1252).

В редких случаях может потребоваться настроить less для использования набора символов, отличного от наборов, определяемых LESSCHARSET. В этом случае можно использовать переменную среды LESSCHARDEF для определения набора символов. Ее следует установить в строку, в которой каждый символ в строке представляет один символ в наборе символов. Символ "." используется для обычного символа, "c" для управляющего, а "b" для двоичного. Можно использовать десятичное число для повторения. Например, "bccc4b." означает, что символ 0 является двоичным, 1, 2 и 3 являются управляющими, 4, 5, 6 и 7 являются двоичными, а 8 — обычным. Все символы после последнего будут такими же, как и последний, поэтому символы 9–255 будут обычными. (Это всего лишь пример и не обязательно представляет какой-либо реальный набор символов.)

В следующей таблице показано значение LESSCHARDEF, эквивалентное каждому из возможных значений для LESSCHARSET: ascii 8bcccbcc18b95.b dos 8bcccbcc12bc5b95.b. ebcdic 5bc6bcc7bcc41b.9b7.9b5.b..8b6.10b6.b9.7b 88.17b3.3b9.7b9.8b8.6b10.b.b.b. IBM-1047 4cbcbc3b9cbccbccbb4c6bcc5b3cbbc4bc4bccbc 19.b iso8859 8bcccbcc18b95.33b. koi8-r 8bcccbcc18b95.b128. latin1 8bcccbcc18b95.33b. next 8bcccbcc18b95.bb125.bb

Если ни LESSCHARSET, ни LESSCHARDEF не установлены, но в переменных среды LC_ALL, LC_CTYPE или LANG найдена одна из строк "UTF-8", "UTF8", "utf-8" или "utf8", то набор символов по умолчанию будет utf-8.

Если эта строка не найдена, но ваша система поддерживает интерфейс setlocale, less будет использовать setlocale для определения набора символов. setlocale управляется установкой переменных среды LANG или LC_CTYPE.

Наконец, если интерфейс setlocale также недоступен, набор символов по умолчанию будет utf-8.

Управляющие и двоичные символы отображаются в выделенном цветом (обратным видео) виде. Каждый такой символ отображается в обозначении «каретка», если это возможно (например, ^A для control-A). Обозначение «каретка» используется только в том случае, если инвертирование 0100-го бита дает обычный печатаемый символ. В противном случае символ отображается в виде шестнадцатеричного числа в угловых скобках. Этот формат можно изменить, установив переменную среды LESSBINFMT. LESSBINFMT может начинаться с "*" и одного символа для выбора атрибута отображения: "*k" — мигающий, "*d" — полужирный, "*u" — подчеркнутый, "*s" — выделенный и "*n" — обычный. Если LESSBINFMT не начинается с "*", предполагается обычный атрибут. Остальная часть LESSBINFMT — это строка, которая может включать одну последовательность в стиле printf (символ "%", за которым следует x, X,
o, d и т. д.). Например, если LESSBINFMT имеет значение "*u[%x]", двоичные символы отображаются подчеркнутым шестнадцатеричным числом в скобках. Значение по умолчанию, если LESSBINFMT не указан, — "*s<%02X>". Предупреждение: результат расширения символа с помощью LESSBINFMT должен быть меньше 31 символа.

Когда используется кодировка utf-8, переменная среды LESSUTFBINFMT действует аналогично LESSBINFMT, но применяется к символам Unicode, которые были успешно декодированы, но не подходят для отображения (например, неназначенные символы). Значение по умолчанию — <U+%04lX>. Обратите внимание, что LESSUTFBINFMT и LESSBINFMT совместно используют настройку атрибута отображения ("*x"), поэтому указание одного из них повлияет на другой; LESSUTFBINFMT считывается после LESSBINFMT, поэтому его настройка, если она есть, будет иметь приоритет.

Проблемные байты в файле UTF-8 (байты усеченной последовательности, байты полной, но не самой короткой последовательности, недействительные байты и отдельные завершающие байты) отображаются по отдельности с помощью LESSBINFMT, чтобы облегчить диагностику структуры файла UTF-8.

В редких случаях, когда используется кодировка utf-8, может потребоваться переопределить определение Unicode для определенных символов. Например, символы в частной области обычно рассматриваются как управляющие символы, но если вы используете пользовательский шрифт с печатными символами в этом диапазоне, может потребоваться указать less, чтобы он обрабатывал эти символы как печатные. Это можно сделать, установив переменную среды LESSUTFCHARDEF в список определений типов символов, разделенных запятыми. Каждое определение типа символа состоит либо из одного шестнадцатеричного кодового пункта, либо из пары кодовых пунктов, разделенных дефисом, за которыми следует двоеточие и символ типа. Каждый шестнадцатеричный кодовый пункт может быть необязательно предварен символом "U" или "U+". Если указана пара кодовых пунктов, тип применяется ко всем символам включительно между двумя значениями. Если есть несколько значений кодовых пунктов, разделенных запятыми, они должны быть в порядке возрастания. Символ типа может быть одним из следующих:

p   Обычный печатный символ.

w   Широкий (2-символьный) печатный символ.

b   Двоичный (непечатный) символ.

c   Композитный (нулевой ширины) символ.

Например, установка LESSUTFCHARDEF на

E000-F8FF:p,F0000-FFFFD:p,100000-10FFFD:p

приведет к тому, что все символы в частной области будут рассматриваться как печатные.

ПРЕДЛОЖЕНИЯ

Опция -P позволяет настроить подсказку в соответствии с вашими предпочтениями. Строка, передаваемая опции -P, заменяет указанную строку подсказки. Определенные символы в строке интерпретируются особым образом. Механизм подсказки довольно сложен, чтобы обеспечить гибкость, но обычному пользователю не нужно понимать детали создания персонализированных строк подсказки.


Знак процента, за которым следует один символ, расширяется в соответствии с тем, каким является следующий символ. (Ссылки на размер входного файла ниже относятся к предварительно обработанному размеру, если используется входной препроцессор).

%bX Заменяется смещением в байтах в текущем входном файле. Буква "b" сопровождается одним символом (указанным выше как X), который определяет, смещение какой строки следует использовать. Если символ — "t", используется смещение в байтах верхней строки отображения; "m" означает использование средней строки, "b" — нижней строки, "B" — строки сразу после нижней строки, а "j" — "целевой" строки, указанной в параметре -j.

%B  Заменяется размером текущего входного файла.

%c  Заменяется номером столбца текста, отображаемого в первом столбце экрана.

%dX Заменяется номером страницы строки во входном файле. Строка, которую необходимо использовать, определяется символом X, как и в варианте %b.

%D  Заменяется количеством страниц во входном файле или, что эквивалентно, номером страницы последней строки во входном файле.

%E  Заменяется именем редактора из переменной окружения VISUAL или переменной окружения EDITOR, если VISUAL не определена. См. обсуждение функции LESSEDIT ниже.

%f  Заменяется именем текущего входного файла.

%F  Заменяется последним компонентом имени текущего входного файла.

%g  Заменяется именем текущего входного файла, экранированным для использования в оболочке. Это полезно, когда расширенная строка будет использоваться в командной строке оболочки, например, в LESSEDIT.

%i  Заменяется индексом текущего файла в списке входных файлов.

%lX Заменяется номером строки во входном файле. Строка, которую необходимо использовать, определяется символом X, как и в варианте %b.

%L  Заменяется номером последней строки во входном файле.

%m  Заменяется общим количеством входных файлов.

%o  Заменяется URI текущей выбранной гиперссылки OSC 8 или вопросительным знаком, если гиперссылка не выбрана. Это используется обработчиками OSC 8, как описано в описании команды ^O^O.

%pX Заменяется процентом от текущего входного файла, основанным на смещениях в байтах. Строка, которую необходимо использовать, определяется символом X, как и в варианте %b.

%PX Заменяется процентом от текущего входного файла, основанным на номерах строк. Строка, которую необходимо использовать, определяется символом X, как и в варианте %b.

%s  То же, что и %B.

%t  Удаляет все завершающие пробелы. Обычно используется в конце строки, но может находиться где угодно.

%T  Обычно расширяется до слова "file". Однако, если файлы просматриваются с помощью списка тегов с помощью параметра -t, расширяется до слова "tag".

%x     Заменяется именем следующего файла во входном списке.

Если какая-либо информация неизвестна (например, размер файла, если входные данные поступают из канала), вместо этого выводится знак вопроса.

Формат строки запроса может изменяться в зависимости от определенных условий. Знак вопроса, за которым следует один символ, действует как оператор "IF": в зависимости от следующего символа, оценивается условие. Если условие истинно, любые символы, следующие за знаком вопроса и символом условия, до точки, включаются в строку запроса. Если условие ложно, эти символы не включаются. Двоеточие, которое появляется между знаком вопроса и точкой, может использоваться для установки оператора "ELSE": любые символы между двоеточием и точкой включаются в строку только в том случае, если условие "IF" ложно. Символы условий (которые следуют за знаком вопроса) могут быть следующими:

?a     Истина, если какие-либо символы уже были включены в строку запроса.

?bX    Истина, если известен байтовый сдвиг указанной строки.

?B     Истина, если известен размер текущего входного файла.

?c     Истина, если текст имеет горизонтальный сдвиг (%c не равен нулю).

?dX    Истина, если известен номер страницы указанной строки.

?e     Истина, если достигнут конец файла.

?f     Истина, если существует имя входного файла (т.е., если входные данные поступают не из канала).

?lX    Истина, если известен номер строки указанной строки.

?L     Истина, если известен номер последней строки в файле.

?m     Истина, если существует более одного входного файла.

?n     Истина, если это первый запрос в новом входном файле.

?pX    Истина, если известен процент в текущем входном файле, основанный на байтовых сдвигах, для указанной строки.

?PX    Истина, если известен процент в текущем входном файле, основанный на номерах строк, для указанной строки.

?s     То же самое, что и "?B".

?x     Истина, если существует следующий входной файл (т.е., если текущий входной файл не является последним).

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

Несколько примеров:

?f%f:Standard input.

Эта строка запроса печатает имя файла, если оно известно; в противном случае печатается строка "Standard input".

?f%f .?ltLine %lt:?pt%pt\%:?btByte %bt:-...

Эта строка запроса печатает имя файла, если оно известно. За именем файла следует номер строки, если он известен, в противном случае печатается процент, если он известен, в противном случае печатается байтовый сдвиг, если он известен. В противном случае печатается дефис. Обратите внимание, как каждый знак вопроса имеет соответствующую точку, и как символ "%" после "%pt" включается в строку запроса буквально, путем экранирования его обратной косой чертой.

?n?f%f .?m(%T %i of %m) ..?e(END) ?x- Next\: %x..%t

Эта строка печатает имя файла, если это первый запрос в файле, за которым следует сообщение "file N of N", если существует более одного входного файла. Затем, если мы находимся в конце файла, печатается строка "(END)", за которой следует имя следующего файла, если он существует. Наконец, любые завершающие пробелы обрезаются. Это строка запроса по умолчанию. Для справки, вот значения по умолчанию для двух других строк запроса (-m и -M соответственно). Каждая из них разбита здесь на две строки для удобства чтения.


?n?f%f .?m(%T %i из %m) ..?e(END) ?x- Далее: %x.:
?pB%pB\%:байт %bB?s/%s...%t

?f%f .?n?m(%T %i из %m) ..?ltстроки %lt-%lb?L/%L. :
байт %bB?s/%s. .?e(END) ?x- Далее: %x.:?pB%pB\%..%t

И стандартное сообщение, генерируемое командой =:

?f%f .?m(%T %i из %m) .?ltстроки %lt-%lb?L/%L. .
байт %bB?s/%s. ?e(END) :?pB%pB\%..%t

Функции расширения подсказки также используются для другой цели: если определена переменная среды LESSEDIT, она используется в качестве команды, которая будет выполняться при вызове команды v. Строка LESSEDIT расширяется так же, как и строки подсказки. Значение по умолчанию для LESSEDIT:

%E ?lm+%lm. %g

Обратите внимание, что это расширяется до имени редактора, за которым следует знак +, номер строки и имя файла, экранированное для оболочки. Если ваш редактор не поддерживает синтаксис "+номерстроки" или имеет другие различия в синтаксисе вызова, переменную LESSEDIT можно изменить, чтобы изменить это значение по умолчанию.

БЕЗОПАСНОСТЬ

Когда переменная среды LESSSECURE установлена в 1, less работает в «безопасном» режиме. В этом режиме отключаются следующие функции:

edit команда редактирования (v)

examine команда просмотра (:e)

glob метасимволы, такие как * в именах файлов, и автозаполнение имен файлов (TAB, ^L)

history файл истории

lesskey использование файлов lesskey (-k и --lesskey-src)

lessopen предобработчик ввода (переменная среды LESSOPEN)

logfile файлы журналов (s и -o)

osc8 открытие ссылок OSC 8 (^O^O)

pipe команда конвейера (|)

shell команды оболочки (! и #)

stop остановка less с помощью сигнала SIGSTOP

tags использование файлов тегов (-t)

Переменную среды LESSSECURE_ALLOW можно установить в список имен функций, разделенных запятыми, которые выборочно включаются при установке LESSSECURE в 1. Имя каждой функции является первым словом в каждой строке в приведенном выше списке. Имя функции может быть сокращено, если сокращение не является двусмысленным. Например, если LESSSECURE=1 и LESSSECURE_ALLOW=hist,edit, то все вышеперечисленные функции будут отключены, за исключением файлов истории и команды редактирования.

Less также может быть скомпилирован для постоянной работы в «безопасном» режиме. В этом случае переменные LESSSECURE и LESSSECURE_ALLOW игнорируются.

СОВМЕСТИМОСТЬ С MORE

Если переменная среды LESS_IS_MORE установлена в 1 или если программа вызывается через файловую ссылку с именем «more», less ведет себя (в основном) в соответствии со спецификацией команды POSIX more(1). В этом режиме less ведет себя по-разному следующим образом:

Опция -e работает по-другому. Если опция -e не установлена, less ведет себя так, как если бы опция -e была установлена. Если опция -e установлена, less ведет себя так, как если бы опция -E была установлена.


Опция -m работает иначе. Если опция -m не установлена, используется стандартный запрос, и перед ним добавляется строка "--More--". Если опция -m установлена, используется короткий запрос.

Опция -n работает так же, как опция -z. Нормальное поведение опции -n недоступно в этом режиме.

Параметр, передаваемый опции -p, воспринимается как команда less, а не как шаблон для поиска.

Переменная среды LESS игнорируется, и вместо нее используется переменная среды MORE.

ПЕРЕМЕННЫЕ СРЕДЫ

Переменные среды могут быть указаны либо в системной среде, как обычно, либо в файле lesskey(1). Если переменные среды определены в нескольких местах, переменные, определенные в локальном файле lesskey, имеют приоритет над переменными, определенными в системной среде, которые, в свою очередь, имеют приоритет над переменными, определенными в общесистемном файле lesskey.

^ OLUMNS Задает количество столбцов на экране. Имеет приоритет над количеством столбцов, указанным в переменной TERM. (Но если у вас есть оконная система, поддерживающая TIOCGWINSZ или WIOCGETD, представление оконной системы о размере экрана имеет приоритет над переменными LINES и COLUMNS.)

^ DITOR Имя редактора (используется для команды v).

^ OME Имя домашнего каталога пользователя (используется для поиска файла lesskey в Unix и OS/2).

^ OMEDRIVE, HOMEPATH Конкатенация переменных среды HOMEDRIVE и HOMEPATH — это имя домашнего каталога пользователя, если переменная HOME не установлена (только в версии для Windows).

^ NIT Имя каталога инициализации пользователя (используется для поиска файла lesskey в OS/2).

^ ANG Язык для определения набора символов.

^ C_CTYPE Язык для определения набора символов.

^ ESS Опции, которые автоматически передаются в less.

^ ESSANSIENDCHARS Символы, которые могут завершать ANSI-последовательность цветов (по умолчанию "m").

^ ESSANSIMIDCHARS Символы, которые могут встречаться между символом ESC и завершающим символом в ANSI-последовательности цветов (по умолчанию "0123456789:;[?!"'#%()*+ ").

^ ESSBINFMT Формат для отображения непечатаемых, не управляющих символов.

^ ESSCHARDEF Определяет набор символов.

^ ESSCHARSET Выбирает предопределенный набор символов.

^ ESSCLOSE Командная строка для вызова (необязательного) постобработчика входных данных.

^ ESSECHO Имя программы lessecho (по умолчанию "lessecho"). Программа lessecho необходима для расширения метасимволов, таких как * и ?, в именах файлов в Unix-системах.

^ ESSEDIT Строка прототипа редактора (используется для команды v). См. обсуждение в разделе "ЗАПРОСЫ".

^ ESSGLOBALTAGS Имя команды, используемой опцией -t для поиска глобальных тегов. Обычно ее следует устанавливать в "global", если в вашей системе есть команда global(1). Если не задано, глобальные теги не используются.

^ ESSHISTFILE Имя файла истории, используемого для запоминания команд поиска и команд оболочки между вызовами less. Если установлено значение "-" или "/dev/null", файл истории не используется. Значение по умолчанию зависит от операционной системы, но обычно это:


Linux и Unix "$XDG_STATE_HOME/lesshst" или "$HOME/.local/state/lesshst" или "$XDG_DATA_HOME/lesshst" или "$HOME/.lesshst".

Windows и MS-DOS "$HOME/_lesshst".

OS/2   "$HOME/lesshst.ini" или "$INIT/lesshst.ini".

LESSHISTSIZE

Максимальное количество команд, сохраняемых в файле истории. По умолчанию — 100.

LESSKEYIN

Имя файла с исходным кодом для lesskey по умолчанию.

LESSKEY

Имя файла с двоичным кодом для lesskey по умолчанию. (Не используется, если существует "$LESSKEYIN".)

LESSKEY_CONTENT

Значение анализируется так, как если бы это был параметр опции --lesskey-content.

LESSKEYIN_SYSTEM

Имя файла с исходным кодом для общесистемного lesskey по умолчанию.

LESSKEY_SYSTEM

Имя файла с двоичным кодом для общесистемного lesskey по умолчанию. (Не используется, если существует "$LESSKEYIN_SYSTEM".)

LESSMETACHARS

Список символов, которые интерпретируются оболочкой как «метасимволы».

LESSMETAESCAPE

Префикс, который less будет добавлять перед каждым метасимволом в команде, отправляемой в оболочку. Если LESSMETAESCAPE — пустая строка, команды, содержащие метасимволы, не будут передаваться в оболочку.

LESSOPEN

Командная строка для вызова (необязательного) препроцессора ввода.

LESSSECURE

Запускает less в «защищенном» режиме. См. раздел «БЕЗОПАСНОСТЬ».

LESSSECURE_ALLOW

Включает отдельные функции, которые обычно отключаются LESSSECURE. См. раздел «БЕЗОПАСНОСТЬ».

LESSSEPARATOR

Строка, которая добавляется к имени каталога при автозаполнении имени файла.

LESSUTFBINFMT

Формат для отображения непечатаемых символов Unicode.

LESSUTFCHARDEF

Переопределяет тип указанных символов Unicode.

LESS_COLUMNS

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

LESS_LINES

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

LESS_DATA_DELAY

Продолжительность (в миллисекундах) после начала чтения данных из входного потока, после которой будет отображаться сообщение «Ожидание данных». По умолчанию — 4000 (4 секунды).

LESS_IS_MORE

Эмулирует команду more(1).

LESS_OSC8_xxx

Где "xxx" — схема URI, такая как "http" или "file", устанавливает обработчик OSC 8 для открытия ссылок OSC 8, содержащих URI с этой схемой.

LESS_OSC8_ANY

Устанавливает обработчик OSC 8 для открытия ссылок OSC 8, для которых не задан конкретный обработчик LESS_OSC8_xxx для схемы "xxx".


LESS_TERMCAP_xx

Где "xx" — любые два символа, переопределяет определение возможности termcap "xx" для терминала.

LESS_UNSUPPORT

Список параметров командной строки, разделенных пробелами. Эти параметры будут игнорироваться (без сообщения об ошибке), если они появляются в командной строке или в переменной среды LESS. Параметры, перечисленные в LESS_UNSUPPORT, все равно можно изменить с помощью команд - и --. Каждый параметр в LESS_UNSUPPORT — это дефис, за которым следует одна буква параметра, или два дефиса, за которыми следует имя длинного параметра.

LINES

Устанавливает количество строк на экране. Имеет приоритет над количеством строк, указанным переменной TERM. (Но если у вас есть оконная система, поддерживающая TIOCGWINSZ или WIOCGETD, представление оконной системы о размере экрана имеет приоритет над переменными среды LINES и COLUMNS.)

MORE

Параметры, которые автоматически передаются в less при работе в режиме, совместимом с more.

PATH

Путь поиска пользователя (используется для поиска файла lesskey в системах MS-DOS, Windows и OS/2).

SHELL

Оболочка, используемая для выполнения команды !, а также для расширения имен файлов.

TERM

Тип терминала, на котором работает less.

VISUAL

Имя редактора (используется для команды v).

XDG_CONFIG_HOME

Возможное расположение файла lesskey; см. раздел «КЛЮЧЕВЫЕ НАЗНАЧЕНИЯ».

XDG_DATA_HOME

Возможное расположение файла истории; см. описание переменной среды LESSHISTFILE.

XDG_STATE_HOME

Возможное расположение файла истории; см. описание переменной среды LESSHISTFILE.

ССЫЛКИ

lesskey(1), lessecho(1)

АВТОРСКИЕ ПРАВА

Copyright (C) 1984-2024 Марк Нудельман

less является частью проекта GNU и является бесплатным программным обеспечением. Вы можете распространять и/или изменять его в соответствии с условиями (1) лицензии GNU General Public License, опубликованной Free Software Foundation; или (2) лицензии Less License. Подробную информацию о распространении см. в файле README в дистрибутиве less. Вы должны были получить копию лицензии GNU General Public License вместе с исходным кодом less; см. файл COPYING. Если это не так, обратитесь в Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. Вы также должны были получить копию лицензии Less License; см. файл LICENSE.

less распространяется в надежде, что он будет полезен, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии КОММЕРЧЕСКОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. Подробную информацию см. в лицензии GNU General Public License.

АВТОР

Марк Нудельман Сообщайте об ошибках по адресу https://github.com/gwsw/less/issues. Дополнительную информацию см. на домашней странице less по адресу https://greenwoodsoftware.com/less.