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:
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 color0
und color8
richtig 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=256
bringt 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=16
und bemerkt set t_Co=256
, aber Siewahrscheinlichwollen set t_Co=16
in einem virtuellen Terminal, und Siewahrscheinlichwill set t_Co=8
in einem TTY-Terminal.
Außerdem würde ich es let g:solarized_italic=0
aus 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=1
vimrc 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_bold
deaktiviert 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: