O esquema de cores solarizadas não saiu como esperado após a instalação

O esquema de cores solarizadas não saiu como esperado após a instalação

1

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

Responder1

Ah sim. Eu tive o mesmo problema.

você deve adicionar

"set t_Co=256           " No        
set t_Co=16

Além disso, 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  

Também configurei meu próprio terminal para solarizado. Esta é a seção relevante do meu ~/.Xresources, que copiei da Internet em algum lugar.

Observe que removi a linha "*background", que talvez seja exatamente o que você precisa, mas de qualquer forma, está funcionando para mim. No entanto, isso muda as cores do seu teminal.

!! ================= 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

Responder2

256 cores

A paleta solarizada faznãoinclua todas as cores adequadas para os terminais mais modernos incluídos por padrão na lista de atributos de cores fornecidos pelo seu terminal virtual. Pelo que entendi, 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 estescript bash curtoEu fiz. Você deverá ver algo assim:

Captura de tela do seletor de 256 cores


Por exemplo, eu uso ostterminal virtual no Linux, e para obter o esquema de cores solarizado no vim é definir as cores do terminal 0-15 dentro do arquivo de configuração do st assim:

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 os terminais virtuais modernos (que eu conheço), usa valores hexadecimais para representar cada 256 cores.


Você deve observar que para o esquema de cores solarizadas no vim, você PRECISA ter pelo menos color0e color8configurado corretamente porque essas duas cores sãonãoencontrado por padrão na lista de {0..255}cores. A partir daí você pode usar cores semelhantes às cores usadas na gama {0..15}pelo esquema solarizado, mas eu simplesmente solarizo todo o meu console e deixo o solarizado funcionar normalmente.

vim

No que diz respeito à configuração dentro do seu vimrc, descobri algumas coisas dignas de menção em relação ao esquema de cores solarizadas.

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

Não notei nenhuma diferença entre set t_Co=16e set t_Co=256, mas vocêprovavelmentedeseja set t_Co=16dentro de um terminal virtual, e vocêprovavelmentequero set t_Co=8dentro de um terminal tty.

Além disso, eu faria isso let g:solarized_italic=0dentro do seu vimrc por este motivo: em muitos terminais, se o vim não puder exibir itálico corretamente (mesmo quando é suportado), muitas vezes reverte para oreverteratributo reverso. Isso significa que se você tivesse um fundo escuro solarizado e tivesse o itálico habilitado com 1, então, por exemplo, os comentários e qualquer outra coisa que deveria estar em itálico terão um fundo cinza claro com texto em azul escuro. Acho que isso distrai muito e não é muito fácil de depurar, porque tudo o que você pensa é "por que isso foi revertido?" e você não tem certeza da fonte.

Por fim, eu colocaria let g:solarized_bold=1seu vimrc (ou deixaria como padrão, pois está habilitado por padrão). Negrito provavelmente será interpretado corretamente, e percebi que se negrito fornãoativado, causa problemas nos menus pop-up (na verdade, quando solarized_boldestá desativado com 0, as coisas nos menus ficamestranhamentesuficienteaudacioso- o que é contra-intuitivo, mas é por isso que você deve deixá-lo em negrito ... na verdade, esse é o padrão, então você pode deixá-lo fora do seu vimrc, se quiser).

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

insira a descrição da imagem aqui

informação relacionada