pokaż kolory i wyłącz zawijanie linii

13

Korzystając z lesspaginatora, możesz użyć -ropcji prawidłowego wyświetlania kolorowych danych wejściowych oraz -Sopcji wyłączenia zawijania linii.

Jednak przy użyciu less -rSlub równoważnie less -r -Skolory są odwzorowywane, ale linie są zawijane. Jak można to osiągnąć?

Davide
źródło
2
Określenie -Rzamiast -rmoże działać dla Ciebie.
devnull

Odpowiedzi:

15

Jeśli -ropcja nie działa, być może -Ropcja zrobi to, co chcesz:

-R lub --RAW-CONTROL-CHARS

Podobnie jak -r, ale tylko sekwencje specjalne „kolorowe” ANSI są generowane w postaci „surowej”. W przeciwieństwie do opcji -r, w większości przypadków wygląd ekranu jest poprawnie utrzymywany. Sekwencje specjalne ANSI „kolorowe” są sekwencjami postaci:

ESC [... m

gdzie „...” to zero lub więcej znaków specyfikacji kolorów. W celu śledzenia wyglądu ekranu zakłada się, że sekwencje specjalne koloru ANSI nie poruszają kursorem. Możesz mniej myśleć, że znaki inne niż „m” mogą kończyć sekwencje specjalne koloru ANSI, ustawiając zmienną środowiskową LESSANSIENDCHARS na listę znaków, które mogą zakończyć sekwencję zmiany koloru. I możesz mniej myśleć, że znaki inne niż standardowe mogą pojawiać się między ESC a m, ustawiając zmienną środowiskową LESSANSIMIDCHARS na listę znaków, które mogą się pojawiać.

Graeme
źródło
Dziękuję Ci! W rzeczywistości miało to być pytanie z odpowiedzią na siebie (po jakimś czasie wymyśliłem to i chciałem się podzielić), ale mam za mało reputacji i - po pozwoleniu mi napisać odpowiedź - powiedziałem, że powinienem poczekać 8 godzin przed wysyłanie ... Nieważne, moja odpowiedź wyglądała dokładnie tak samo jak Twoja
Davide
1
Na marginesie, jest to podobne do tego, co gitrobi: domyślnie używa lessjako pager i wywołuje go LESS=FRSXw środowisku (podobnie jak less -FRSX)
Davide
@Davide, to interesujące git, zawsze zastanawiałem się, dlaczego zachowywał się inaczej, ale nigdy nie przystąpiłem do badania. Dzięki.
Graeme