Esquema de cores solarizado não saiu como esperado após a instalação

0

Depois de instalar o solarized, a cor do plano de fundo não saiu como esperado. O vim usa fundo preto terminal em vez de usar o fundo azul da solarized. Meu terminal também está configurado para Xterm-256color. Eu tentei várias opções incluem esta linha let g:solarized_termtrans = 1 , mas ainda não faz qualquer diferença. O que eu fiz de errado aqui?

    
por khoa_vo123 12.05.2015 / 10:24

2 respostas

2

Ah, sim. Eu tive o mesmo problema.

você deve adicionar

"set t_Co=256           " No        
set t_Co=16

também, as opções solarizadas são

"g:solarized_termcolors=   16      |   256
"g:solarized_termtrans =   0       |   1
"g:solarized_degrade   =   0       |   1
"g:solarized_bold      =   1       |   0
"g:solarized_underline =   1       |   0
"g:solarized_italic    =   1       |   0
"g:solarized_contrast  =   "normal"|   "high" or "low"
"g:solarized_visibility=   "normal"|   "high" or "low"
"g:solarized_hitrail   =   0       |   1
"g:solarized_menu      =   1       |   0

para o qual eu, pessoalmente, usei

let g:solarized_termcolors=   16
let g:solarized_termtrans =   0       
let g:solarized_degrade   =   0       
let g:solarized_bold      =   1       
let g:solarized_underline =   1       
let g:solarized_italic    =   1       
let g:solarized_contrast  =   "normal"
let g:solarized_visibility=   "normal"
let g:solarized_hitrail   =   0       
let g:solarized_menu      =   1  

Eu também configurei meu terminal para solarizado. Esta é a seção relevante dos meus ~ / .Xresources, que eu copiei da internet em algum lugar.

Note que eu removi a linha "* background", que pode ser exatamente o que você precisa, mas de qualquer forma, isso está funcionando para mim. No entanto, ele muda as cores do seu temperamento.

!! ================= SOLARIZED =============================================================

!! drop in Solarized colorscheme for Xresources/Xdefaults

!!SOLARIZED HEX     16/8 TERMCOL  XTERM/HEX   L*A*B      RGB         HSB
!!--------- ------- ---- -------  ----------- ---------- ----------- -----------
!!base03    #002b36  8/4 brblack  234 #1c1c1c 15 -12 -12   0  43  54 193 100  21
!!base02    #073642  0/4 black    235 #262626 20 -12 -12   7  54  66 192  90  26
!!base01    #586e75 10/7 brgreen  240 #585858 45 -07 -07  88 110 117 194  25  46
!!base00    #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195  23  51
!!base0     #839496 12/6 brblue   244 #808080 60 -06 -03 131 148 150 186  13  59
!!base1     #93a1a1 14/4 brcyan   245 #8a8a8a 65 -05 -02 147 161 161 180   9  63
!!base2     #eee8d5  7/7 white    254 #e4e4e4 92 -00  10 238 232 213  44  11  93
!!base3     #fdf6e3 15/7 brwhite  230 #ffffd7 97  00  10 253 246 227  44  10  99
!!yellow    #b58900  3/3 yellow   136 #af8700 60  10  65 181 137   0  45 100  71
!!orange    #cb4b16  9/3 brred    166 #d75f00 50  50  55 203  75  22  18  89  80
!!red       #dc322f  1/1 red      160 #d70000 50  65  45 220  50  47   1  79  86
!!magenta   #d33682  5/5 magenta  125 #af005f 50  65 -05 211  54 130 331  74  83
!!violet    #6c71c4 13/5 brmagenta 61 #5f5faf 50  15 -45 108 113 196 237  45  77
!!blue      #268bd2  4/4 blue      33 #0087ff 55 -10 -45  38 139 210 205  82  82
!!cyan      #2aa198  6/6 cyan      37 #00afaf 60 -35 -05  42 161 152 175  74  63
!!green     #859900  2/2 green     64 #5f8700 60 -20  65 133 153   0  68 100  60

#define S_base03        #002b36
#define S_base02        #073642
#define S_base01        #586e75
#define S_base00        #657b83
#define S_base0         #839496
#define S_base1         #93a1a1
#define S_base2         #eee8d5
#define S_base3         #fdf6e3
#define S_yellow        #b58900
#define S_orange        #cb4b16
#define S_red           #dc322f
#define S_magenta       #d33682
#define S_violet        #6c71c4
#define S_blue          #268bd2
#define S_cyan          #2aa198
#define S_green         #859900

!# I removed this, causing some GUI problems, I think
!#*background:            S_base03
*foreground:            S_base00
*fading:                40
*fadeColor:             S_base03
*cursorColor:           S_base1
*pointerColorBackground:S_base01
*pointerColorForeground:S_base1

!! black dark/light
*color0:                S_base02
*color8:                S_base03

!! red dark/light
*color1:                S_red
*color9:                S_orange

!! green dark/light
*color2:                S_green
*color10:               S_base01

!! yellow dark/light
*color3:                S_yellow
*color11:               S_base00

!! blue dark/light
*color4:                S_blue
*color12:               S_base0

!! magenta dark/light
*color5:                S_magenta
*color13:               S_violet

!! cyan dark/light
*color6:                S_cyan
*color14:               S_base1

!! white dark/light
*color7:                S_base2
*color15:               S_base3
    
por 13.05.2015 / 15:20
0

256 cores

A paleta solarizada não inclui todas as cores adequadas para que os terminais mais modernos sejam incluídos por padrão na lista de atributos de cores fornecidos pelo seu terminal virtual. Tanto quanto eu entendo, o seu terminal virtual fornece uma lista de cores (de color0 a color255 - ou seja, 256 cores) representadas geralmente como valores hexadecimais. Isso permite que seu terminal dentro de um ambiente gráfico (não tty) exiba cada cor {0..255} a ser exibida com uma determinada cor.

Você pode visualizar todas as 256 cores em seu terminal virtual executando este script curto bash que fiz. Você deveria ver algo assim:

Porexemplo,euusooterminalvirtual st no linux, e para obter o esquema de cores solarizado dentro do vim é definir o cores do terminal 0-15 dentro do arquivo de configuração do st como:

static const char *colorname[] = {
    /* solarized dark */
    "#073642",  /*  0: black    */
    "#dc322f",  /*  1: red      */
    "#859900",  /*  2: green    */
    "#b58900",  /*  3: yellow   */
    "#268bd2",  /*  4: blue     */
    "#d33682",  /*  5: magenta  */
    "#2aa198",  /*  6: cyan     */
    "#eee8d5",  /*  7: white    */
    "#002b36",  /*  8: brblack  */
    "#cb4b16",  /*  9: brred    */
    "#5f8700",  /* 10: brgreen  */
    "#d8b822",  /* 11: bryellow */
    "#0087ff",  /* 12: brblue   */
    "#6c71c4",  /* 13: brmagenta*/
    "#00afaf",  /* 14: brcyan   */
    "#fdf6e3",  /* 15: brwhite  */
    /* special colors */
    [256] = "#002b36", /* background */
    [257] = "#93a1a1", /* foreground */
};

/*
 * Default colors (colorname index)
 * foreground, background, cursor
 */
static unsigned int defaultfg = 257;
static unsigned int defaultbg = 256;
static unsigned int defaultcs = 257;
static unsigned int defaultrcs = 15;

Você pode ver que st, como todos (que eu conheço) terminais virtuais modernos, usa valores hexadecimais para representar cada 256 cores.

Você deve observar que, para o esquema de cores solarizado no vim, você TEM de ter pelo menos color0 e color8 definidos corretamente porque essas duas cores são não encontradas por padrão na lista de {0..255} colors. A partir daí, você pode usar cores semelhantes às cores usadas no intervalo {0..15} pelo esquema solarizado, mas eu simplesmente faço todo o meu console solarizado e deixe-o solarizado para que funcione normalmente.

vim

No que diz respeito à configuração dentro do seu vimrc, descobri que algumas coisas valem a pena mencionar o esquema de cores solarizado.

let g:solarzied_termcolors=256 bagunça as cores em um terminal, mesmo que ele suporte 256 cores. Isto é provavelmente porque quando solarized_termcolors é 256 , provavelmente está esperando uma GUI como gvim. Portanto, é melhor deixar essa configuração como padrão.

Eu não notei diferença entre set t_Co=16 e set t_Co=256 , mas você provavelmente quer set t_Co=16 dentro de um terminal virtual, e você provavelmente deseja set t_Co=8 dentro de um terminal tty.

Além disso, eu faria let g:solarized_italic=0 dentro de seu vimrc por essa razão: em muitos terminais, se o vim não puder exibir corretamente itálico ( mesmo quando for suportado ), ele geralmente será revertido para inverter atributo reverso. Isso significa que, se você tiver um plano de fundo escuro solarizado e tiver ativado o itálico com 1 , por exemplo, os comentários e qualquer outra coisa que deve estar em itálico terão um plano de fundo cinza claro com texto azul escuro. Acho que isso é muito perturbador e não é muito fácil de depurar, porque tudo o que você pensa é "por que esse material é invertido?" e você não tem certeza da fonte.

Finall, eu colocaria let g:solarized_bold=1 em seu vimrc (ou deixaria como padrão, já que é ativado por padrão). O negrito provavelmente será interpretado corretamente, e notei que, se o negrito não estiver ativado , isso causará problemas nos menus pop-up (na verdade, quando solarized_bold está desabilitado com 0 , coisas em menus são estranhamente o suficiente em negrito - o que é contra-intuitivo, mas é por isso que você deve deixá-lo em negrito ... este é o padrão, então você pode deixar fora do seu vimrc se você quiser).

Aqui está o que pode parecer quando você tem as 256 cores do seu terminal ( {0..15} ) configuradas "corretamente":

    
por 23.10.2016 / 21:07