Como obtenho o esquema de cores solarizado trabalhando com gnome-terminal, tmux e vim?

25

Há muitas perguntas sobre isso, mas é porque existem muitas variáveis. Eu tive que juntar as instruções de muitos sites antes de começar este trabalho.

Primeiro, eu não poderia facilmente configurar as 16 definições de cores solarizadas no gnome-terminal (eu fiz isso manualmente / clicando apenas para perceber que eu não tinha a ordem / mapeamento correto). Depois que eu consertei, eu segui em frente ...

Então eu tinha cores solarizadas trabalhando no vim OK-ish, mas havia alguns fundos pretos estranhos aparecendo em certos realces. Depois que eu consertei isso, eu segui em frente ...

Então eu percebi que o vim ficou vago uma vez correndo dentro do tmux. Isso é muito debatido, mas muito poucas das respostas (que dizem principalmente sobre a configuração de TERM to xterm-256colors ) funcionaram para mim. Eu finalmente consertei isso também.

Solarizado é uma paleta muito agradável (apesar de eu ter escurecido a cor base mais escura e iluminado o mais leve, eu prefiro o maior contraste e achei o tmux 'branco' longe demais amarelo na minha tela calibrada - prob bem em uma tela de laptop típico não calibrado como eles geralmente são demasiado azuis!), então eu estou postando esta pergunta com a sua resposta para compartilhar os resultados do meu aprendizado. / p>     

por artfulrobot 01.03.2013 / 18:11

2 respostas

23

Solarizado dá cores muito específicas. Você não consegue realmente alcançar essas cores em uma paleta de 256 cores padrão . A única maneira de conseguir isso é configurando as cores exatas do emulador de terminal, e os aplicativos acham que estão usando apenas 16 cores padrão (8 + 8 brights), mas elas foram mapeadas com precisão na paleta do Solarized.

O terminal do Gnome não fornece uma maneira muito fácil de exportar / importar paletas ou perfis, mas você pode fazer isso com este script bash:

#!/bin/sh
DARK_BG='#000014141A1A'
# original: DARK_BG='#00002B2B3636'
LIGHTEST='#FFFFFBFBF0F0'
# original: LIGHTEST='#FDFDF6F6E3E3'

gconftool-2 --set "/apps/gnome-terminal/profiles/Default/use_theme_background" --type bool false
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/use_theme_colors" --type bool false
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/palette" --type string "#070736364242:#D3D301010202:#858599990000:#B5B589890000:#26268B8BD2D2:#D3D336368282:#2A2AA1A19898:#EEEEE8E8D5D5:$DARK_BG:#CBCB4B4B1616:#58586E6E7575:#65657B7B8383:#838394949696:#6C6C7171C4C4:#9393A1A1A1A1:$LIGHTEST"
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/background_color" --type string "$DARK_BG"
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/foreground_color" --type string "#65657B7B8383"

Nb. aqui eu anulei as cores mais escuras e mais claras do Solarized. Você pode usar os originais, se quiser, como comentado.

Bom o suficiente. Agora instale o arquivo de cores vim Solarized colocando esse arquivo em ~.vim/colors/solarized.vim .

Agora você pode dizer ao Vim para usar esse esquema de cores com colo solarized . Mas isso não funcionou bem e eu tive que dizer ao Vim para usar uma paleta de 16 cores, set t_Co=16 . Eu colei os dois no meu arquivo ~/.vimrc .

Agora as cores vim estavam funcionando, mas não se fosse executado dentro do tmux.

Este próximo bit é muito confuso. A maioria dos conselhos diz sobre a configuração de TERM fora do tmux para xterm-256colors , mas quando fiz isso o tmux nem sequer iniciava. Também me confundiu: a solarized não diz que a paleta de 256 cores é uma aproximação ruim? Bem, é confuso e, de qualquer forma, não estava funcionando, então eu precisava de outro caminho:

Crie um arquivo /tmp/foo contendo:

xterm-16color|xterm with 16 colors,
    colors#16, use=xterm,

Em seguida, instale isso com sudo tic /tmp/foo

Por fim, alias tmux da seguinte forma:

alias tmux='TERMINFO=/usr/share/terminfo/x/xterm-16color TERM=xterm-16color tmux -2'

Agora obtenho exatamente as cores certas no terminal, no vim e no vim-inside-tmux. Nb a opção -2 diz a tmux para usar uma paleta de 256 cores, o que é realmente confuso porque as variáveis env pareceriam estar dizendo o contrário ... Eu realmente não sei, e estou com medo de não realmente me importo em escalar essa curva de aprendizado porque agora tenho um belo terminal colorido que Just Works.

    
por 01.03.2013 / 18:11
9

Eu também encontrei este projeto:

link

Obrigado pelas dicas: -)

    
por 02.07.2013 / 22:57