Menos comando muda de cor de “~” e “(END)”?

1

Como altero a cor dos caracteres "~" que percorrem a borda de uma saída de comando Less.

E como mudar a cor "(END)" na parte inferior?

    
por Skills 11.08.2014 / 09:31

2 respostas

2

O LESS utiliza várias variáveis de ambiente para controlar as cores com base na biblioteca termcap. A lista de variáveis é a seguinte:

export LESS_TERMCAP_mb=$'\E[6m'          # begin blinking
export LESS_TERMCAP_md=$'\E[34m'         # begin bold
export LESS_TERMCAP_us=$'\E[4;32m'       # begin underline
export LESS_TERMCAP_so=$'\E[1;33;41m'    # begin standout-mode - info box
export LESS_TERMCAP_me=$'\E[0m'          # end mode
export LESS_TERMCAP_ue=$'\E[0m'          # end underline
export LESS_TERMCAP_se=$'\E[0m'          # end standout-mode

Se você deseja definir cores de primeiro plano diferentes, basta alterar 3x para outra coisa. Para alterar a mudança de plano de fundo ou adicionar 4x, por exemplo, para alterar a cor de "~" (caractere til) da sua pergunta para o primeiro plano vermelho e conjunto de plano de fundo verde

export LESS_TERMCAP_md=$'\E[31;42m'

Com essas variáveis, você irá colorir os padrões de pesquisa, solicitar e até os manuais ficarão coloridos (se você usar menos como PAGER).

Você também pode alterar outro comportamento, como prompt, tente este:

export LESS='-iR -j4 --shift 5 -P ?n?f%f .?m(file %i of %m) ..?ltlines %lt-%lb?L/%L. :byte %bB?s/%s. .?e(END) ?x- Next\: %x.:?pB%pB\%..%t'

Jogue com ele, divirta-se.

Nota 1

Devido a algum bug na nova versão do Groff, talvez seja necessário definir

export GROFF_NO_SGR=''

também para mudar as cores.

Nota 2 (Lista de códigos de cores básicos)

Foreground:
30 - black
31 - red
32 - green
33 - yellow
34 - blue
35 - magenta
36 - cyan
37 - white

Background:
40 - black
41 - red
42 - green
43 - yellow
44 - blue
45 - magenta
46 - cyan
47 - white

More about color codes: http://en.wikipedia.org/wiki/ANSI_escape_code
    
por 15.08.2014 / 01:06
0

less não fornece ajuste fino nos recursos exibidos, preferindo usar atributos de vídeo como negrito e reverso (ou de destaque):

  • o caractere ~ é impresso com atributo negrito e somente se a opção "twiddle" estiver configurada ("Mostrar tildes após o final do arquivo").

  • enquanto você poderia modificar os recursos do terminal usados para desenhar texto em negrito, o "END" é colocado entre colchetes pelos recursos do terminal de destaque / standend.

Para ambos, less usa os mesmos recursos de terminal por outras razões, por exemplo,

  • negrito é usado quando less vê que um caractere ultrapassa uma célula contendo o mesmo caractere, por exemplo, A retrocesso A .

  • o destaque é usado para destacar mensagens de erro.

Dito isso, você pode alterar a aparência do texto em negrito definindo essas duas variáveis de ambiente com sequências de escape de terminal adequadas:

LESS_TERMCAP_md
LESS_TERMCAP_me

O terminfo (5) manual dá uma pista do que "md" e "me" significa, listando o nome termcap na terceira coluna:

   enter_bold_mode               bold       md        turn on bold (extra
                                                      bright) mode
   exit_attribute_mode           sgr0       me        turn off all
                                                      attributes

Da mesma forma, destaque e standend são

LESS_TERMCAP_so
LESS_TERMCAP_se

correspondente a esta descrição:

   enter_standout_mode           smso       so        begin standout mode 
   exit_standout_mode            rmso       se        exit standout mode  

Leitura adicional:

por 23.07.2016 / 03:42