Ajusta as cores usadas pelo vim e pelo bash?

3

Existe uma maneira simples de ajustar as cores usadas pelo vim e pelo bash? Valores de cor hexadecimais, por exemplo?

    
por Nathan Long 23.03.2010 / 20:03

4 respostas

6

vim suporta colorschemes . Você usa e / ou instala um dos muitos esquemas disponíveis ou escreve o seu próprio.

bash , por outro lado, é apenas um shell para executar programas. A exibição do shell e sua saída está acontecendo dentro de um aplicativo de terminal que pode suportar cores. Se você, por exemplo use gnome-terminal para modificar as cores padrão usadas em Editar - > Perfis .

Muitas aplicações de terminal podem ser configuradas para usar saída colorida em vez de monocromática, veja por exemplo resposta de moshen.

    
por 23.03.2010 / 20:17
4

Existem algumas coisas para esclarecer aqui:

Bash é um shell, que em si não é tanto onde você quer gerenciar cores - isso é mais uma questão do terminal (gnome-terminal, rxvt, xterm, etc). Os terminais geralmente têm 16, 88 ou 256 paletas de cores, que são cores predefinidas que podem ser renderizadas no console. Cada cor tem um número, de 0 a 15/87/255. Alguns terminais permitem ajustar quais cores RGB específicas são atribuídas a quais números, mas normalmente são 0 para preto, 1 para vermelho, etc.

Quanto ao vim, você quer dizer vim, ou gvim (o aplicativo GUI)? Estes são configurados de maneira diferente em relação à cor. O Vim permite que você altere quais das cores de terminal disponíveis (numeradas) são atribuídas a quais tipos de texto (texto normal, texto de comentário, texto visualmente selecionado, etc). Dê uma olhada na ajuda do vim nos comandos "colorscheme" e "highlight". Em aplicações de terminal, você está confinado às cores disponíveis no seu terminal (veja acima), mas pode atribuí-las livremente, definindo seu próprio esquema de cores.

O Gvim, por outro lado, normalmente permite que você especifique os trios de cores RGB e, portanto, tem muito mais flexibilidade sobre o esquema de cores.

Por exemplo, no gvim, isso definirá sua cor de texto "normal" como um trio arbitrário hexadecimal RRGGBB:

: oi Guifg normal = # 123456

No vim, isso definirá a cor do texto "normal" para a cor terminal 1, que geralmente é vermelha:

: oi Normal ctermfg = 1

Sua aplicação de terminal (xterm, gnome-terminal, rxvt) pode então permitir que você ajuste o que "vermelho" realmente significa, em termos de RGB. Algumas pessoas, por exemplo, acham que o padrão "azul" nos aplicativos do terminal é muito escuro para ser lido, então ajuste-o para ficar mais claro.

    
por 23.03.2010 / 20:38
2

As cores usadas pelo bash são realmente usadas pelos aplicativos específicos do bash. As cores usadas pelo LS podem ser alteradas modificando a variável LSCOLORS. Em seu ~ / .bashrc você adicionaria algo como:

export LSCOLORS=ehfacxdhbhegedabagacad
export GREP_COLOR='00;38;5;157;48;5;226'

etc ...

As cores do VIM podem ser alteradas simplesmente especificando um tema.

    
por 23.03.2010 / 20:12
0

Outra aplicação que permite escolher cores para sua saída é [less][1] . Se for o pager que você usa para man , essas cores serão vistas com mais frequência quando você visualizar man páginas. Você pode ver o significado dos códigos termcap como "mr" (vídeo reverso) e "md" (negrito) executando man 5 terminfo e procurando pelo código. Os códigos de cores podem ser encontrados na seção "Manuseio de cores" da página man.

Exemplo de configurações:

LESS_TERMCAP_ZN=
LESS_TERMCAP_ZO=
LESS_TERMCAP_ZV=
LESS_TERMCAP_ZW=
LESS_TERMCAP_mb=$'\E[1m\E[38;5;2m'
LESS_TERMCAP_md=$'\E[1m\E[38;5;6m'
LESS_TERMCAP_me=$'\E[m\E(B'
LESS_TERMCAP_mh=
LESS_TERMCAP_mr=$'\E[7m'
LESS_TERMCAP_se=$'\E[27m\E[m\E(B'
LESS_TERMCAP_so=$'\E[1m\E[38;5;3m\E[48;5;4m'
LESS_TERMCAP_ue=$'\E[24m\E[m\E(B'
LESS_TERMCAP_us=$'\E[4m\E[1m\E[38;5;7m'
    
por 23.03.2010 / 21:04

Tags