Список полезных функций `less`

22

Вместо того, чтобы спрашивать о ваших любимых, давайте просто перечислить их.

Какие команды более полезны внутри less?

Лично я использую:

  • / (поиск вперед)
  • ? (поиск в обратном направлении)
  • F (включите tail -f как behvaior, Ctrl-C, чтобы вырваться из него)
  • v (открыть файл в $ EDITOR для редактирования, по умолчанию vi / vim)

Другие?

geoffc
источник
Для записи vоткрывается $EDITORлокальный файл - не нужно vi / vim.
Мацей Пехотка
Отредактировано в этом изменении! Спасибо Мацей! Я этого не знал!
Geoffc

Ответы:

11

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

Например, введите, maчтобы отметить позицию с меткой "a". Чтобы вернуться к позиции, просто введите 'a. Метки могут быть любым алфавитом (с учетом регистра), что позволяет использовать до 52 возможных меток ([a-zA-Z]), хотя я редко использую больше 2.

Шон Чин
источник
Потрясающе! Мне нужна была эта функция, и я не знал, что она существует!
Geoffc
1
Также полезно (со страницы руководства), что если вы прыгаете куда-то (например, с помощью «g»), вы можете вернуться назад с помощью «» (двойной апостроф).
Стив Беннетт
7
  • u - до половины страницы
  • d - вниз на половину страницы
  • k - прокрутить одну строку вверх
  • j - прокрутить одну строку вниз
  • -i - поиск без учета регистра, если шаблон не содержит заглавные буквы (как закрытые или меньшие)
  • / /pattern/ - поиск (используется с n)
  • -p /pattern/ открыть файл в / pattern / (как закрытый)
  • & /pattern/ показать строки, содержащие / pattern / (например, grep)
оборота гвкв
источник
? / pattern / - поиск в обратном направлении (также используется с n) F - следовать как tail -f
Bauna
Насколько я помню, &patternпоказывает ТОЛЬКО строки, которые содержат / шаблон /?
Шон Чин
@lsc: Да, это верно. Я обновил.
gvkv
6

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

kkaempf
источник
5

Помимо очевидного, мои два фаворита:

  1. export LESS=-FX- если есть под одной страницей, мне не нужно нажимать, qчтобы выйти
  2. Тип /^HEADINGдля поиска заголовков и /^ *-optionпоиска параметров
    (особенно полезно на странице руководства bash, которая очень большая)
Mikel
источник
+1 за МЕНЬШЕ = -FX, именно то, что я хотел, спасибо!
IPD
4
  • ^ f - страница вниз
  • ^ b - страница вверх
  • G - перейти в конец буфера
  • gg - перейти в начало буфера

также - большинство из них - просто vim-подобные функции для навигации.

Eimantas
источник
Я использую spaceдля страницы вниз, bдля обратной страницы (страница вверх). gдля начала, Gдля конца, а также.
Geoffc
Не забудьте: 42g- перейти на номер 42.
Уэс Хардакер
3

Это не функция внутри less, но это полезная функция.

Мне нравятся страницы руководства, и я предпочитаю меньше (1) в качестве моего пейджера. Тем не менее, большинство программ GNU хранит руководство в формате info (1) (GNU Texinfo), и я не фанат интерфейса info (1). Просто дай мне меньше.

Итак, я прочитал info (1) страницы, используя lessвместо этого. Следующая команда распечатает информационные (1) страницы, используя знакомый интерфейс less!

info gpg |less
оборота Стефан Ласевский
источник
2
  • n - продолжить поиск вашего паттерна в том же направлении
  • N - продолжить поиск вашего паттерна в обратном направлении

Если вы начали поиск 'foo' и хотите продолжать находить его экземпляры, вы можете нажимать, /а затем возвращаться снова и снова, или вы можете просто нажать n(без возврата), чтобы продолжить поиск в том же направлении.

  • -N - показать номера строк
  • -I - игнорировать регистр в шаблоне поиска (полезно при поиске ошибок, которые могут быть записаны как «ОШИБКА | Ошибка | ошибка»)
  • -G - отключить подсветку

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

Марк Маккинстри
источник
1

Хотя здесь потребовался вопрос, чтобы напомнить мне, как это сделать, мне всегда нравился вариант -eили .--quit-at-eofless

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

Марк Бут
источник
1

Другими (для меня) полезными командами являются J, K, которые работают как j, k, но не останавливают прокрутку в начале или конце файла: это полезно, потому что я часто использую границу терминала в качестве визуального маркера.

Как примечание, они кажутся недокументированными, афаик.

Далее, я использую меньше, чтобы передать вместе сжатый и не заархивированный файл (это работает благодаря lesspipe), как в less /var/log/dpkg.log* | less

enzotib
источник
1

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

# use n or shift-n to cycle through the matches
man bash | less -Ip 'parameter expansion'  
пуджа
источник
0

Мне нравится настраиваемая опция горизонтальной прокрутки, т. Е. С помощью клавиши «стрелка влево / вправо» с цифрой, которая lessбудет прокручивать это количество столбцов с этого момента, лучше всего работает с параметром «chop-lines» -S.

lessчитает ключи командной строки из $LESSпеременной при запуске, вот мои предпочтительные ключи:

$ echo $LESS
-JMQRSi
  • -J добавить столбец статуса слева, помечает столбцы поисковыми попаданиями.
  • -M более подробная строка состояния.
  • -Q нет колоколов
  • -R не преобразовывать необработанный ввод, позволяет интерпретировать escape-последовательности.
  • -S отключить перенос строки.
  • -i поиск без учета регистра.
Тор
источник