Das solarisierte Farbschema entsprach nach der Installation nicht den Erwartungen.

Das solarisierte Farbschema entsprach nach der Installation nicht den Erwartungen.

1

Nachdem ich Solarized installiert hatte, war die Hintergrundfarbe nicht wie erwartet. Vim verwendet den schwarzen Terminalhintergrund, anstatt den blauen Hintergrund von Solarized zu verwenden. Mein Terminal ist außerdem auf Xterm-256color eingestellt. Ich habe mehrere Optionen ausprobiert, einschließlich dieser Zeile let g:solarized_termtrans = 1, aber es macht immer noch keinen Unterschied. Was habe ich hier falsch gemacht?

Antwort1

Ah ja. Ich hatte das gleiche Problem.

Sie sollten hinzufügen

"set t_Co=256           " No        
set t_Co=16

außerdem sind die solarisierten Optionen

"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

für die ich persönlich verwendet habe

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  

Ich habe auch mein Terminal selbst für Solarized eingerichtet. Dies ist der relevante Abschnitt aus meinen ~/.Xresources, den ich irgendwo aus dem Internet kopiert habe.

Beachten Sie, dass ich die Zeile „*background“ entfernt habe. Das ist vielleicht genau das, was Sie brauchen, aber bei mir funktioniert es trotzdem. Allerdings ändert es die Farben Ihres Terminals.

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

Antwort2

256 Farben

Die solarisierte Palettenichtalle richtigen Farben einschließen, die die meisten modernen Terminals standardmäßig in der Liste der Farbattribute enthalten, die Ihr virtuelles Terminal bereitstellt. Soweit ich weiß, stellt Ihr virtuelles Terminal eine Liste von Farben bereit (von Farbe 0 bis Farbe 255 – also 256 Farben), die normalerweise als Hexadezimalwerte dargestellt werden. Dadurch kann Ihr Terminal in einer grafischen Umgebung (nicht TTY) jede Farbe {0..255}mit einer bestimmten Farbe anzeigen.


Sie können alle 256 Farben in Ihrem virtuellen Terminal anzeigen, indem Sie Folgendes ausführenkurzes Bash-SkriptIch habe es gemacht. Sie sollten ungefähr Folgendes sehen:

Screenshot der 256-Farbauswahl


Ich verwende beispielsweise diestvirtuelles Terminal in Linux. Um das solarisierte Farbschema in Vim zu erhalten, müssen die Terminalfarben 0-15 in der Konfigurationsdatei von St wie folgt eingestellt werden:

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;

Sie können sehen, dass st, wie alle (mir bekannten) modernen virtuellen Terminals, Hex-Werte verwendet, um jede 256-Farbe darzustellen.


Beachten Sie, dass Sie für das solarisierte Farbschema in vim mindestens color0und color8richtig eingestellt haben MÜSSEN, da diese beiden Farbennichtstandardmäßig in der Farbliste zu finden . Von dort aus können Sie Farben verwenden, die den im Bereich vom Solarized-Schema {0..255}verwendeten Farben ähneln , aber ich mache einfach meine gesamte Konsole solarisiert und lasse solarisiert, damit es normalerweise funktioniert.{0..15}

vim

Was die Konfiguration in Ihrem vimrc betrifft, habe ich einige erwähnenswerte Dinge in Bezug auf das solarisierte Farbschema gefunden.

let g:solarzied_termcolors=256bringt die Farben in einem Terminal durcheinander, selbst wenn es 256 Farben unterstützt. Dies liegt wahrscheinlich daran, dass beimsolarized_termcolors Ist 256, wird wahrscheinlich eine GUI wie gvim erwartet. Daher ist es am besten, diese Einstellung auf dem Standard zu belassen.

Ich habe keinen Unterschied zwischen set t_Co=16und bemerkt set t_Co=256, aber Siewahrscheinlichwollen set t_Co=16in einem virtuellen Terminal, und Siewahrscheinlichwill set t_Co=8in einem TTY-Terminal.

Außerdem würde ich es let g:solarized_italic=0aus folgendem Grund in Ihrem vimrc tun: In vielen Terminals kann vim Kursivschrift nicht richtig anzeigen (auch wenn es unterstützt wird), kehrt es oft zurück zu derumkehrenreverse-Attribut. Das bedeutet, dass, wenn Sie einen dunklen solarisierten Hintergrund haben und Kursivschrift mit aktiviert haben 1, dann haben beispielsweise Kommentare und alles andere, was kursiv gedruckt werden soll, einen hellgrauen Hintergrund mit dunkelblauem Text. Ich finde das sehr störend und es ist nicht sehr einfach zu debuggen, weil man sich nur fragt: „Warum ist das Zeug umgekehrt?“ und man sich der Quelle nicht ganz sicher ist.

Abschließend würde ich let g:solarized_bold=1vimrc einfügen (oder es als Standard belassen, da es standardmäßig aktiviert ist). Fett wird wahrscheinlich richtig interpretiert, und ich habe festgestellt, dass, wenn Fettnichtaktiviert ist, dann verursacht es Probleme in Popup-Menüs (tatsächlich, wenn solarized_bolddeaktiviert ist mit 0, ich Dinge in Menüs sindseltsamgenugdeutlich– was nicht intuitiv ist, aber deshalb sollten Sie es einfach fett lassen … das ist tatsächlich die Standardeinstellung, Sie können es also aus Ihrer vimrc weglassen, wenn Sie möchten).

So könnte es aussehen, wenn Sie die 256 Farben ( {0..15}) Ihres Terminals „richtig“ eingerichtet haben:

Bildbeschreibung hier eingeben

verwandte Informationen