Después de instalar solarized, el color de fondo no quedó como se esperaba. vim usa un fondo negro terminal en lugar de usar el fondo azul de solarized. Mi terminal también está configurado en Xterm-256color. Probé varias opciones para incluir esta línea let g:solarized_termtrans = 1
, pero todavía no hace ninguna diferencia. ¿Qué hice mal aquí?
Respuesta1
Ah, sí. Tuve el mismo problema.
deberías agregar
"set t_Co=256 " No
set t_Co=16
Además, las opciones solarizadas son
"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 lo cual yo, personalmente, he usado
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
También configuré mi terminal para solarizado. Esta es la sección relevante de mi ~/.Xresources, que copié de algún lugar de Internet.
Tenga en cuenta que eliminé la línea "*fondo", que tal vez sea exactamente lo que necesita, pero de todos modos, esto funciona para mí. Sin embargo, sí cambia los colores de su terminal.
!! ================= 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
Respuesta2
256 colores
La paleta solarizada nonoIncluye todos los colores propios que la mayoría de terminales modernos incluyen por defecto en la lista de atributos de color que proporciona tu terminal virtual. Hasta donde tengo entendido, su terminal virtual proporciona una lista de colores (desde color0 hasta color255, es decir, 256 colores) representados generalmente como valores hexadecimales. Esto permite que su terminal dentro de un entorno gráfico (no tty) muestre cada color {0..255}
para que se muestre con un color determinado.
Puede ver los 256 colores en su terminal virtual ejecutando estescript bash cortoHice. Debería ver algo como esto:
Por ejemplo, uso elcalleterminal virtual en Linux, y para obtener el esquema de colores solarizados dentro de vim es configurar los colores del terminal 0-15 dentro del archivo de configuración de st de esta manera:
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;
Puedes ver que st, como todos los terminales virtuales modernos (que yo sepa), usa valores hexadecimales para representar cada 256 colores.
Debes tener en cuenta que para el esquema de colores solarizados en vim, TIENES que tener al menos color0
y color8
configurar correctamente porque estos dos colores sonnoSe encuentra por defecto en la lista de {0..255}
colores. A partir de ahí, puede usar colores similares a los colores utilizados en la gama {0..15}
del esquema solarizado, pero simplemente solarizo toda mi consola y la dejo solarizada para que funcione normalmente.
empuje
En cuanto a la configuración dentro de su vimrc, he encontrado algunas cosas que vale la pena mencionar con respecto al esquema de colores solarizados.
let g:solarzied_termcolors=256
Confunde los colores en un terminal aunque soporte 256 colores. Probablemente esto se deba a que cuandosolarized_termcolors
es 256
, probablemente esté esperando una GUI como gvim. Por lo tanto, es mejor dejar esa configuración en su valor predeterminado.
No he notado ninguna diferencia entre set t_Co=16
y set t_Co=256
, pero túprobablementequieres set t_Co=16
dentro de una terminal virtual, y túprobablementequieres set t_Co=8
dentro de una terminal tty.
Además, lo haría let g:solarized_italic=0
dentro de su vimrc por este motivo: en muchas terminales, si vim no puede mostrar correctamente las cursivas (incluso cuando es compatible), a menudo vuelve a lacontrarrestaratributo inverso. Esto significa que si tenía un fondo solarizado oscuro y tenía la cursiva habilitada con 1
, entonces, por ejemplo, los comentarios y cualquier otra cosa que deba estar en cursiva tendrá un fondo gris claro con texto azul oscuro. Creo que esto distrae mucho y no es muy fácil de depurar porque todo lo que piensas es "¿por qué esto está al revés?" y no estás muy seguro de la fuente.
Finalmente, pondría let g:solarized_bold=1
su vimrc (o lo dejaría como predeterminado, ya que está habilitado de forma predeterminada). Negrita probablemente se interpretará correctamente y he notado que si se escribe negritanohabilitado, entonces causa problemas en los menús emergentes (en realidad, cuando solarized_bold
está deshabilitado con 0
, las cosas en los menús sonextrañamentesuficienteatrevido- lo cual es contrario a la intuición, pero es por eso que deberías dejarlo en negrita... este es en realidad el valor predeterminado, por lo que puedes dejarlo fuera de tu vimrc si lo deseas).
Este es el aspecto que podría tener cuando tengas los 256 colores ( {0..15}
) de tu terminal configurados "correctamente":