Páginas man coloridas não estão funcionando no gentoo

8

Eu tenho um problema ao usar esses métodos para obter cores nas minhas páginas man no gentoo. Eu já perguntei nos fóruns do gentoo, mas ainda não funciona, e os comentários em um relatório de bug ( Bug 184604 ) não trabalhe também. Alguém pode me ajudar a conseguir cores nas minhas páginas de manual?

EDITAR : Sim, estou usando menos como pager e urxvt-unicode como emulador de terminal

EDIT2 :

Eu já perguntei nos fóruns do gentoo, mas isso não ajudou, este é o link: link .

    
por Vicfred 18.01.2011 / 03:35

2 respostas

19

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!

    
por 24.01.2011 / 13:43
2
Tendo lido Mikels responder, é muito abrangente, e esperamos que funcione em todos os sistemas, mas provavelmente é um exagero para mim (também em um sistema gentoo).

Então, aqui está um resultado para pessoas que são muito "Do long, not read" com todos esses truques.

O mínimo que eu pude fazer para obter as páginas do Homem de cor é o seguinte:

LESS_TERMCAP_md=$'\E[01;31m' LESS_TERMCAP_me=$'\E[0m' GROFF_NO_SGR=1 man man

Isto processa texto que anteriormente estava apenas em negrito, em negrito e vermelho . (O vermelho é caracterizado pelo '31' em LESS_TERMCAP_md )

LESS_TERMCAP_se=$'\E[0m' LESS_TERMCAP_so=$'\E[01;32m'

Essas duas regras controlam a formatação da exibição do número da linha atual e a coagem para renderização em verde.

LESS_TERMCAP_us=$'\E[04;33m' LESS_TERMCAP_ue=$'\E[0m'

Estas 2 regras movem tudo o que foi sublinhado anteriormente, para serem sublinhadas e amarelas . (04 é 'sublinhado', 33 é "amarelo")

    
por 15.02.2011 / 12:41