El esquema de color solarizado no salió como se esperaba después de la instalación


0

1

Después de instalar solarized, el color de fondo no salió como se esperaba. vim usa un fondo negro terminal en lugar de usar el fondo azul solarizado. Mi terminal también está configurado en Xterm-256color. He intentado varias opciones que incluyen esta línea let g:solarized_termtrans = 1, pero aún así no hace ninguna diferencia. ¿Qué hice mal aquí?

Respuestas:


2

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, 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 solarizar. Esta es la sección relevante de mis recursos ~ / .X, que copié de Internet en alguna parte.

Tenga en cuenta que he eliminado la línea "* background", que quizás sea exactamente lo que necesita, pero de todos modos, esto está funcionando para mí. Sin embargo, cambia los colores de tu 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

0

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:

Captura de pantalla del selector de 256 colores


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 color0y color8configurar 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=256desordena 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=16y set t_Co=256, pero probablemente quieras set t_Co=16dentro de una terminal virtual, y probablemente quieras set t_Co=8dentro de una terminal tty.

Además, lo haría let g:solarized_italic=0dentro 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=1su 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_boldse 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":

ingrese la descripción de la imagen aquí

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.