Potrebbe esserci una serie di problemi.
Visto che stai usando zsh
, prova a metterlo nel tuo ~/.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
Quindi aprire una nuova finestra del terminale e provare a eseguire
man ls
se non funziona, esegui una delle seguenti operazioni per scoprire dove si trova il problema:
Numero 1
typeset -p LESS_TERMCAP_md | cat -v
dovrebbe stampare
typeset -x LESS_TERMCAP_md="^[[01;31m"
e
typeset -p LESS
dovrebbe stampare
typeset -x LESS="-r"
in caso contrario, hai messo le export LESS
cose nel file sbagliato.
Numero 2
echo "${LESS_TERMCAP_md}red${LESS_TERMCAP_me}"
dovrebbe stampare
red
in un colore rosso. In caso contrario, c'è qualcosa che non va nelle impostazioni del terminale. Controlla le impostazioni del tuo terminale (ad es. ~/.Xresources
) O prova a correre gnome-terminal
o xterm
e vedi se funziona.
Numero 3
echo -E "a^Ha" | LESS= less -r
( ^H
deve essere inserito premendo Ctrl+ Vquindi Ctrl+ H)
dovrebbe stampare
a
in rosso. In caso contrario, esegui questi
type less
less --version
e incollare l'output nella domanda.
Numero 4
bzcat /usr/share/man/man1/ls.1.bz2 | \
/bin/sh /usr/bin/nroff -mandoc -Tutf8 | head -n 5 | cat -v
dovrebbe stampare
LS(1) User Commands LS(1)
N^HNA^HAM^HME^HE
(nota ^H
come nel passaggio numero 3)
se sta stampando qualcosa di simile:
LS(1) User Commands LS(1)
^[[1mNAME^[[0m
invece, dovrai trovare un modo per disabilitare "sequenze di escape sgr". La cosa più facile da provare è l'aggiunta export GROFF_NO_SGR=1
a .zshrc
, ma ci sono altri modi per correggere questo.
Numero 5
bzcat /usr/share/man/man1/ls.1.bz2 | \
/bin/sh /usr/bin/nroff -mandoc -Tutf8 | less
dovrebbe visualizzare la ls
pagina man con i colori.
man ls
ora dovrebbe funzionare!