показывать цвета и отключать перенос строк

13

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

Тем не менее, при использовании less -rSили эквивалентно less -r -S, цвета отображаются на экране, а линии переносятся. Как этого достичь?

Davide
источник
2
Указание -Rвместо -rможет работать для вас.
devnull

Ответы:

15

Если -rопция не работает, возможно, она -Rбудет делать то, что вы хотите:

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

Подобно -r, но только escape-последовательности ANSI "color" выводятся в "сыром" виде. В отличие от -r, внешний вид экрана поддерживается в большинстве случаев правильно. «Цветные» escape-последовательности ANSI представляют собой последовательности вида:

ESC [... м

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

Graeme
источник
Спасибо! На самом деле это был вопрос с ответом (я через некоторое время понял это и хотел поделиться), но у меня слишком мало репутации и, после того, как я позволил мне написать ответ, он сказал, что должен подождать 8 часов, прежде чем отправка ... не берите в голову, мой ответ выглядел точно так же, как ваш
Davide
1
Как примечание, это похоже на то, что gitделает: по умолчанию он использует в lessкачестве своего пейджера и вызывает его LESS=FRSXв среде (точно так же как less -FRSX)
Davide
@ Давид, это интересно git, я всегда задавался вопросом, почему он вел себя по-разному, хотя никогда не удосужился расследовать. Благодарю.
Грэм