Cor azul escuro na saída vim ou sl no linux

58

Estou com um problema com a cor azul escuro vimou lssaída. Como estou usando a cor de fundo preto, as palavras coloridas em azul escuro são quase completamente invisíveis. Como posso resolver este problema?

Gilles 'SO- parar de ser mau'
fonte
possível duplicação de Substituindo o tom de cor exibido
Gilles 'SO- stop be evil'
11
A outra coisa que você pode fazer é mudar as cores. Nenhuma das cores (mesmo as 'escuras') deve ser ilegível em um fundo preto. Se você pudesse especificar qual terminal está usando, mais informações poderiam ser fornecidas se a pergunta vinculada ainda não o ajudar.
Random832
Isso parece um problema com alguns monitores ou saídas da placa de vídeo. Esse azul padrão (que parece ser pelo menos mais ou menos o mesmo no console do linux e em alguns emuladores de terminal) é legível em alguns monitores e ilegível em outros.
njsg

Respostas:

55

Você pode modificar o tema de cores do vim com a backgroundopção Usar

set background=dark

na sua sessão atual ou defina-a como permanente no seu vimrc.

A saída de lsestá configurada com /etc/DIR_COLORS. Veja a página de manual para mais informações. As configurações podem ser substituídas por um arquivo ~/.dir_colors(No Ubuntu: ~/.dircolors- veja a entrada em ~/.bashrc) em seu diretório pessoal.

Uma entrada como

 DIR 01;36 

produzirá um fundo mais legível com ciano.

echox
fonte
Para os iniciantes no bash: depois de criar seu arquivo (por exemplo, ~/.dircolors) conforme indicado aqui, você apenas precisa source ~/.bashrcvê-lo funcionando. Obrigado por esta resposta!
Marcus
26

Em vez de configurar aplicativos para evitar o azul no preto, recomendo configurar o seu terminal para tornar o azul mais visível. A maioria dos emuladores de terminal possui uma configuração para isso. No xterm, há um recurso X:

XTerm.VT100.color4: CornflowerBlue

Em outros emuladores de terminal, procure no arquivo de configuração ou na caixa de diálogo configurações de cores ou temas.

Há uma sequência de controle comum para definir a tonalidade associada a um número de cor do aplicativo: OSC 4 ; c ; spec BELonde OSCestá ESC ], cé o número da cor e specé uma especificação de cor como #RGB.

printf %b '\e]4;4;#6495ed\a'  # set the blue shade to CornflowerBlue

Uma alteração pelo aplicativo só é efetiva até o próximo terminal reiniciar. Se você usar esse método (recomendado apenas se o seu terminal não possuir um mecanismo de configuração), para tornar a alteração efetivamente persistente, anexe a sequência de escape da configuração de cores à string de redefinição do terminal (termcap: r1string; terminfo: rs1string).

Consulte também Substituindo a tonalidade da cor exibida . Posso definir as cores dos terminais da minha máquina local para usar as cores da máquina em que eu ssh? .

Gilles 'SO- parar de ser mau'
fonte
soou como uma sugestão esfarrapada no começo, mas considerando que não consigo ler metade das cores escuras e nenhum dos meus programas usa cores sólidas de plano de fundo onde a escuridão pode ser razoável, isso realmente faz muito sentido!
M Conrad
Solarized ( ethanschoonover.com/solarized ) possui ótimos esquemas de cores para vários emuladores de terminal e outros programas.
David David
10

Uma maneira mais rápida de definir a lscor do diretório para sua sessão de terminal:

1. Abra o seu terminal, execute o comando dircolors:

machines@box790 ~ $ dircolors
LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';
export LS_COLORS
machines@box790 ~ $ 

Ele está repetindo o comando para você definir as cores para ls. O 'di' significa diretório. 34 é o azul escuro ruim. 36 é ciano. Então, vamos colá-lo e alterá-lo para o terminal.

2. Copie tudo isso no terminal, fazendo uma única alteração

Você muda di=01;34para o di=01;36seguinte:

machines@box790 ~ $ LS_COLORS='rs=0:di=01;36:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';

machines@box790 ~ $ export LS_COLORS

3. Isso define as cores do diretório para ciano imediatamente

do an 'ls' and see that directories are indeed cyan.

4. Faça o passo acima permanente

Torne-o permanente colocando os comandos acima na parte inferior do seu ~ / .bashrc, assim:

LS_COLORS='rs=0:di=01;36:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';
export LS_COLORS

Se você colocar isso em seu ~ / .bashrc e (reinicie o terminal ou source ~/.bashrc), as cores ainda deverão estar corretas.

Eric Leschinski
fonte
2
O esquema de cores para as cores da tela pode ser salvo em um arquivo legível por humanos e aplicado a partir do bashrc com eval " dircolors -b ~/.dir_colors". Veja aqui exemplos de esquema de cores.
19415 alexei
agora meu link simbólico é da mesma cor que dir
ealeon 16/09
@ealeon Ah, parece que os diretórios die links simbólicos lntêm a mesma cor que 01;36. Sinta-se à vontade para mudar essas cores, se essa distinção específica for importante para você. Esse esquema de cores é o padrão que eu encontrei por aí.
Eric Leschinski 16/09
8

Se você informar ao vim que está usando um plano de fundo preto (ou tema escuro), ele iluminará todas as cores para que sejam legíveis:

:set bg=dark
Caleb
fonte
1
eval `dircolors | sed -e 's/;34:/;36:/'`
Spongman
fonte