Pode ser um número de problemas.
Veja como você está usando zsh
, tente colocar isso no seu ~/.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
Em seguida, abra uma nova janela de terminal e tente executar
man ls
se não estiver funcionando, execute cada um dos itens a seguir para descobrir onde está o problema:
Número 1
typeset -p LESS_TERMCAP_md | cat -v
deve imprimir
typeset -x LESS_TERMCAP_md="^[[01;31m"
e
typeset -p LESS
deve imprimir
typeset -x LESS="-r"
se não, você coloca as coisas export LESS
no arquivo errado.
Número 2
echo "${LESS_TERMCAP_md}red${LESS_TERMCAP_me}"
deve imprimir
red
em uma cor vermelha. Se não houver algo errado com as configurações do terminal. Verifique suas configurações de terminal (por exemplo, ~/.Xresources
) ou tente executar gnome-terminal
ou xterm
e veja se isso funciona.
Número 3
echo -E "a^Ha" | LESS= less -r
( ^H
deve ser digitado pressionando Ctrl + V então Ctrl + H )
deve imprimir
a
em vermelho. Se isso não acontecer, por favor, execute estes
type less
less --version
e cole a saída na sua pergunta.
Número 4
bzcat /usr/share/man/man1/ls.1.bz2 | \
/bin/sh /usr/bin/nroff -mandoc -Tutf8 | head -n 5 | cat -v
deve imprimir
LS(1) User Commands LS(1)
N^HNA^HAM^HME^HE
(observe o ^H
como no passo número 3)
se estiver imprimindo algo como:
LS(1) User Commands LS(1)
^[[1mNAME^[[0m
em vez disso, você precisará encontrar uma maneira de desativar "sgr escape sequences". O mais fácil é adicionar export GROFF_NO_SGR=1
a .zshrc
, mas existem outras maneiras de corrigir isso.
Número 5
bzcat /usr/share/man/man1/ls.1.bz2 | \
/bin/sh /usr/bin/nroff -mandoc -Tutf8 | less
deve exibir a página ls
man com cores.
man ls
agora deve estar funcionando!