256 colores
La paleta solarizada no incluye todos los colores adecuados para que los terminales más modernos incluyan de manera predeterminada en la lista de atributos de color proporcionados por su terminal virtual. Según tengo entendido, su terminal virtual proporciona una lista de colores (de color0 a 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 este breve script de bash que hice. Debería ver algo como esto:
Por ejemplo, utilizo el terminal virtual st en linux, y para obtener el esquema de colores solarizado dentro de vim es establecer los colores del terminal 0-15 dentro del archivo de configuración de st de la siguiente 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;
Puede ver que st, como todos los terminales virtuales modernos (que yo sepa), usa valores hexadecimales para representar cada 256 colores.
Debe tener en cuenta que para el esquema de colores solarizado en vim, TIENE que tener al menos color0
y color8
configurar correctamente porque estos dos colores no se encuentran por defecto en la lista de {0..255}
colores. A partir de ahí, puede usar colores similares a los colores utilizados en el rango {0..15}
por el esquema solarizado, pero simplemente hago que toda mi consola se solarice y deje que se solarice para que funcione normalmente.
empuje
En cuanto a la configuración dentro de su vimrc, he encontrado algunas cosas dignas de mencionar que ragarding el esquema de colores solarizado.
let g:solarzied_termcolors=256
desordena los colores en un terminal incluso si admite 256 colores. Esto probablemente se deba a que, cuando lo solarized_termcolors
esté 256
, probablemente esté esperando una GUI como gvim. Por lo tanto, es mejor dejar esa configuración por defecto.
No he notado ninguna diferencia entre set t_Co=16
y set t_Co=256
, pero probablemente quieras set t_Co=16
dentro de una terminal virtual, y probablemente quieras 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 muchos terminales, si vim no puede mostrar correctamente las cursivas ( incluso cuando es compatible ), a menudo vuelve al atributo inverso inverso. Esto significa que si tenía un fondo solarizado oscuro y tiene cursiva habilitada con 1
, entonces, por ejemplo, los comentarios y cualquier otra cosa que debería estar en cursiva tendrá un fondo gris claro con texto azul oscuro. Creo que esto es muy molesto y no es muy fácil de depurar porque todo lo que piensas es "¿por qué se invierte todo esto?" 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 será interpretado correctamente, y me he dado cuenta de que si negrita es no habilitado, a continuación, que causa problemas en los menús pop-up (en realidad, cuando solarized_bold
se desactiva con 0
, I cosas en los menús son extrañamente lo suficientemente audaz - que es contrario a la intuición, pero que es por eso que debe dejarlo en negrita ... este es realmente el valor predeterminado, por lo que puede dejarlo fuera de su vimrc si lo desea).
Esto es lo que podría parecer cuando tiene los 256 colores ( {0..15}
) de su terminal configurados "correctamente":