Czy mogę uzyskać mniej, aby nie monochromatycznie generować?
Np. Wyjście z git diffjest kolorowe, ale git diff | lessnie jest.
lesstylko.
Czy mogę uzyskać mniej, aby nie monochromatycznie generować?
Np. Wyjście z git diffjest kolorowe, ale git diff | lessnie jest.
lesstylko.
Odpowiedzi:
Posługiwać się:
git diff --color=always | less -r
--color=alwaysjest po to, aby powiedzieć, gitaby wyświetlać kody kolorów, nawet jeśli wyjście jest potokiem (a nie tty). I -rjest po to, lessaby zinterpretować te kody kolorów i inne sekwencje specjalne. Używaj tylko -Rdla kodów kolorów ANSI.
git config color.ui truepowinno wystarczyć, aby uzyskać kolorowe wydruki i automatycznie uruchomić pager dla długich wydruków .
watch --color 'git diff --cached --color=always'a jego przyjaciele mogą przynieść ci dodatkową niesamowitość.
less -Rlepszego (lub export LESS=Rw /etc/profile)? Dlaczego miałbyś pozwolić, aby wyświetlał cokolwiek innego niż sekwencje specjalne ANSI „kolorowe”? Ponadto strona podręcznika mówiWarning: when the -r option is used, less cannot keep track of the actual appearance of the screen (since this depends on how the screen responds to each type of control character). Thus, various display problems may result, such as long lines being split in the wrong place.
-ropcję, możesz po prostu wpisać „-r” w lesswierszu polecenia. To oczywiście działa z większością lub wszystkimi mniejszymi opcjami (tj., -iAby włączyć ignorowanie).
grep --color=alwaysdziała w ten sam sposób. To nie jest część tego pytania ani odpowiedzi, ale dotarłem tutaj z Google'a na temat tego pytania, więc jest.
Inną opcją byłoby włączenie kolorów i użycie „mniej -r” jako pager.
git config --global color.ui true
git config --global core.pager 'less -r'
To skutkuje
[color]
ui = true
[core]
pager = less -r
w twoim ~ / .gitconfig
Aby uzyskać więcej informacji, zobacz książkę Pro Git .
color.ui truenie działało to z pageriem, ale działało color.ui always. To mogło się zmienić od czasu opublikowania odpowiedzi.
color.ui truedziała z komendami takimi jak git -p diffi git -p status(gdzie -poznacza, że wszystkie dane wyjściowe są przesyłane do $ PAGER, domyślnie to jest less) nawet dla dość starych wersji git (na przykład , Git 1.7.1). Ale nadal potrzebujesz color.ui always(co mówi gitowi, aby wypisał kody kolorów „nawet jeśli wyjście jest potokiem (nie tty)”), aby uzyskać kolorowe wydruki, gdy bezpośrednio określisz git status | less -rlub git diff | less -r. Gdy jawnie określisz przekierowanie wyjścia, nie zobaczysz wyniku po wyjściu z pagera.
Użyj opcji -r( --raw-control-chars), aby zmniejszyć, lub też -R(tylko sekwencje specjalne ANSI).
Mam na to alias ~/.bashrc
alias rless='less -r'
alias less='less -r'. Jest jakiś powód, aby tego nie robić?
-rgdy nie jest potrzebne, może prowadzić do problemu z wizualizacją.
ackze less -rsobą, tracisz zwrot karetki
\lessjeśli wizualizacja się nie powiedzie.
lessniczego $LESSlessexport LESS='-MRq -z-2 -j2’
Również treema możliwość wymuszenia na kolory:
tree -C | less -r
I tak dalej dla ls:
ls -lR --color | less -r
Aby dodać kolejną wersję na „use less -r”:
użyj zmiennej środowiskowej LESS z wartością r (lub dodaj r do tego, co już jest)
np. kiedy używam go w moim .bashrc
export LESS=-Xr
(X zatrzymuje czyszczenie ekranu przy wychodzeniu mniej)
W przypadku, gdy ktoś jest zainteresowany stronicowaniem JSON jqi lessmożna to osiągnąć za pomocą:
jq -C <jq args> file.json | less -R
na przykład
jq -C . file.json | less -R
Źródło: https://github.com/stedolan/jq/issues/764#issuecomment-95355331
Wiem, że to stare i wielu już udzieliło właściwej odpowiedzi, ale chciałbym dodać, że zawsze lepiej jest używać, less -Ra nie, less -rjeśli potrzebujesz tylko kolorów ANSI, ponieważ -rmogą to powodować problemy z wyświetlaniem znaków.
Z instrukcji:
-r or --raw-control-chars
Causes "raw" control characters to be displayed. The default
is to display control characters using the caret notation; for
example, a control-A (octal 001) is displayed as "^A". Warn‐
ing: when the -r option is used, less cannot keep track of the
actual appearance of the screen (since this depends on how the
screen responds to each type of control character). Thus, var‐
ious display problems may result, such as long lines being
split in the wrong place.
-R or --RAW-CONTROL-CHARS
Like -r, but only ANSI "color" escape sequences are output in
"raw" form. Unlike -r, the screen appearance is maintained
correctly in most cases. ANSI "color" escape sequences are
sequences of the form:
ESC [ ... m