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:
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 color0
e color8
configurado 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=256
bagunç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=16
e set t_Co=256
, mas vocêprovavelmentedeseja set t_Co=16
dentro de um terminal virtual, e vocêprovavelmentequero set t_Co=8
dentro de um terminal tty.
Além disso, eu faria isso let g:solarized_italic=0
dentro 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=1
seu 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_bold
está 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":