Acabei de adicionar isso ao meu .bashrc
para obter uma saída colorida com less
:
# Colorize less man pages.
export LESS_TERMCAP_md=$'\e[01;34m'
export LESS_TERMCAP_us=$'\e[01;33m'
export LESS_TERMCAP_so=$'\e[01;44;37m'
export LESS_TERMCAP_mb=$'\e[01;31m'
export LESS_TERMCAP_mr=$'\e[01;35m'
export LESS_TERMCAP_me=$'\e[00m'
export LESS_TERMCAP_ue=$'\e[00m'
export LESS_TERMCAP_se=$'\e[00m'
... e agora, de repente, certos comandos (parecem estar relacionados à exibição de variáveis de ambiente) produzem saída de cores que corresponde a essas novas configurações. Estou escapando errado? Ou esse comportamento é intencional? Eu tentei algumas outras variações de fuga, mas elas não funcionaram less
.
Por exemplo, aqui está uma captura de tela de um env
comando.
php -i
também possui saída colorida, mas apenas na seção de variáveis de ambiente.
man top
= em\e[01;34mSYNOPSIS\e[00m
vez de colorir a palavra "SINOPSE".Como @Gilles aponta em sua resposta, esse é um comportamento esperado.
Deixe-me adicionar informações sobre o casal.
LESS_TERMCAP_xx
substituir recursos TERMCAP. Essa substituição é gerenciada porless
si sóscreen.c
e o valor é usado posteriormente posteriormente como se tivesse sido retornado pela biblioteca TERMCAP. Isso significa que deve ser uma sequência bruta de caracteres de controle.Minha conta sobre como "consertar" isso é envolver-
less
sefonte
#!/bin/sh
(que é dash, no meu caso)? Não consigo descobrir como inserir umESC
caractere literal com o vim.export LESS_TERMCAP_me="$(printf '\e[0m')"
. Na verdade, se você olhar para a resposta do @Gilles, ele está reivindicandoexport LESS_TERMCAP_me=$escape'[0m'
que/bin/sh
também deve funcionar .