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.