Könnte eine Reihe von Problemen sein.
zsh
Versuchen Sie, dies zu verwenden , während Sie Folgendes verwenden ~/.zshrc
:
export LESS_TERMCAP_mb=$'\E[01;31m'
export LESS_TERMCAP_md=$'\E[01;31m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;47;34m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;32m'
export LESS=-r
Öffnen Sie dann ein neues Terminalfenster und versuchen Sie es auszuführen
man ls
Wenn es nicht funktioniert, führen Sie die folgenden Schritte aus, um herauszufinden, wo das Problem liegt:
Nummer 1
typeset -p LESS_TERMCAP_md | cat -v
sollte drucken
typeset -x LESS_TERMCAP_md="^[[01;31m"
und
typeset -p LESS
sollte drucken
typeset -x LESS="-r"
Wenn nicht, legen Sie das export LESS
Zeug in die falsche Datei.
Nummer 2
echo "${LESS_TERMCAP_md}red${LESS_TERMCAP_me}"
sollte drucken
red
in einer roten Farbe. Wenn dies nicht der Fall ist, stimmt etwas mit Ihren Terminaleinstellungen nicht. Überprüfen Sie Ihre Terminaleinstellungen (z. B. ~/.Xresources
) oder versuchen Sie es mit gnome-terminal
oder xterm
und prüfen Sie, ob dies funktioniert.
Nummer 3
echo -E "a^Ha" | LESS= less -r
( ^H
muss durch Drücken von Ctrl+ Vdann Ctrl+ eingegeben werden H)
sollte drucken
a
in rot. Wenn dies nicht der Fall ist, führen Sie diese bitte aus
type less
less --version
und fügen Sie die Ausgabe wieder in Ihre Frage ein.
Nummer 4
bzcat /usr/share/man/man1/ls.1.bz2 | \
/bin/sh /usr/bin/nroff -mandoc -Tutf8 | head -n 5 | cat -v
sollte drucken
LS(1) User Commands LS(1)
N^HNA^HAM^HME^HE
(Beachten Sie das ^H
Gleiche in Schritt 3)
wenn es etwas druckt wie:
LS(1) User Commands LS(1)
^[[1mNAME^[[0m
Stattdessen müssen Sie einen Weg finden, um "sgr-Escape-Sequenzen" zu deaktivieren. Die einfachste Sache , zu versuchen, das Hinzufügen export GROFF_NO_SGR=1
zu .zshrc
, aber es gibt auch andere Möglichkeiten, dies zu beheben.
Nummer 5
bzcat /usr/share/man/man1/ls.1.bz2 | \
/bin/sh /usr/bin/nroff -mandoc -Tutf8 | less
sollte die ls
Manpage mit Farben anzeigen .
man ls
sollte jetzt funktionieren!