Ich habe das solarisierte Farbschema und die Palette importiert. Mein Terminal hat die richtigen Farben und den richtigen Hintergrund, gvim hat die richtigen Farben und den richtigen Hintergrund, aber vim hat einen falsch gefärbten Hintergrund. Der Text ist korrekt, aber der Hintergrund scheint schwarz zu sein.
Hier ist meine .vimrc:
syntax enable
if has('gui_running')
set background=dark
else
set background=dark
endif
:set t_Co=256
let g:solarized_termcolors=256
colorscheme solarized
Wenn jemand irgendwelche Vorschläge hat, was dies verursachen könnte, wäre ich sehr dankbar. Ich starte xubuntu mit dem Standard-Terminal.
Ich sollte auch erwähnen, dass die Lichtoption für Vim einen sehr gelben Hintergrund ergibt.
vimrc
terminal
colorscheme
x11
Oberdiear
quelle
quelle
g:solarized_termcolors=256
. Wenn Sie gerne solarisierte Farben in Ihrem Terminal verwenden, funktioniert diese Methode viel besser. Der Text Ihrer Frage impliziert , Sie haben Ihr Terminal einrichten, um solari Farben zu verwenden (obwohl der Screenshot Sie zeigen mir sieht nicht so aus , wie es der Fall ist), so dass in diesem Fall, warum verwenden Sie dieg:solarized_termcolors=256
Einstellung?gnome-terminal
.Antworten:
Es gibt zwei Gründe, warum ich denke, dass dies passieren könnte:
Die solarized Farbschema Sie verwenden , nicht zu erklären
ctermfg
undctermbg
für eine der Funktionen möchten Sie Highlight. Probieren Sie dieses Farbschema aus . Es sollte sowohl in Ihrem Terminal als auch in gvim im Wesentlichen gleich aussehen. Wenn dies der Fall ist, müssen Sie möglicherweise ein Farbschema verwenden, dasctermfg
und deklariertctermbg
.Möglicherweise müssen Sie sicherstellen, dass Ihr Terminal-Emulator die Farben unterstützt, die Sie anzeigen möchten:
ncurses-term
Dateipaket (das die Datei bereitstellt/usr/share/terminfo/x/xterm+256color
) installiert ist.Legen Sie den Wert Ihrer
TERM
Umgebungsvariablen fest, indem Sie ausführenan der Muschel.
vim
in dieser Shell an.Beachten Sie, dass diese beiden Dinge zur gleichen Zeit passieren können, es jedoch schwierig ist, dies zu diagnostizieren, ohne weitere Informationen über Ihr System zu erhalten.
quelle
TERM
Variable ist falsch, aber ich habe keine Ahnung, wie ich sie ändern soll.export TERM=xterm+256color
NICHT "Farbe s " (Plural) sein. Auch glaube ich , dass ist , sollte seinxterm-256color
, nicht „** + ** 256color;. Aber ich kann falsch sein speziell darüber mit solari Verwendung Nach dieser Antwort ,# Entries with embedded plus signs are designed to be included through use/tc capabilities, not used as standalone entries.
export TERM=xterm+256color
Unter OSX bekomme ichzle-line-finish:echoti:1: no such terminfo capability: rmkx
export TERM=xterm+256colors
half vim solarized dabei, die genaue Hintergrundfarbe meines Terminals zu erkennen und zu verwenden.Tolle Neuigkeiten, alle zusammen. @Tom und @Rich haben mich auf den richtigen Weg gebracht. Ich habe hier eine Lösung gefunden . Ich habe meine .vimrc auf die einfache eingestellt
Dies scheint alles zu beheben. Die Farben scheinen in den Schriftbeispielen nicht so hell zu sein , aber das könnte sehr gut nur ich sein. Für alle, die das solarisierte Farbschema und das xfce4-Terminal verwenden möchten, schienen meine Hauptprobleme nur durch Ändern des terminalrc und des .vimrc gelöst zu sein. Vielen Dank an alle für Ihre Hilfe!
quelle
set t_Co
Zeile in Ihrem vimrc nicht benötigen : Vim kann diesen Wert vom Terminal lesen (Einstellung't_Co'
scheint ein bisschen wie ein Vim-Frachtkult zu sein: Viele Leute empfehlen dies online, ohne wirklich zu verstehen, welche Probleme sie zu lösen versuchen .)Ich vermute, es ist ein Problem der Kompatibilität
colorscheme
mit dem Terminal. Das Plugincsaprox
löst auf wundersame Weise eine Reihe dieser Probleme.Zusammenfassung:
Links zum Plugin:
quelle
Das solarisierte Terminal-Vim-Farbschema kann auf zwei verschiedene Arten funktionieren.
Ein 16-Farben-Modus: Solarisiert enthält nur 16 Farben. In diesem Modus stellen Sie Ihr Terminal so ein , dass die solarisierten Farben als 16 Farben verwendet werden, und das Vim-Farbschema verwendet nur diese. So fordert beispielsweise das Vim-Farbschema die Terminalfarbe "1" an, und das Terminal zeigt dies als die Hex-Farbe # dc322f an.
Ein 256-Farben-Modus, in dem aus einer 256-Farben-Palette die besten Übereinstimmungen für die 16 Farben ausgewählt werden.
Die erstere Methode wird vom Autor (und von mir) nachdrücklich empfohlen , und es hört sich so an, als würden Sie diese Methode gerne anwenden, da Sie angeben, dass Ihr "Terminal die richtigen Farben und den richtigen Hintergrund" hat.
Aus Ihrem Screenshot geht jedoch hervor, dass auf Ihrem Terminal nicht die richtigen Farben eingestellt sind. (Weiß ist keine Farbe im solarisierten Set, und obwohl ich es nicht in die Augen getropft habe, sieht die andere Textfarbe im Screenshot für mich auch nicht so aus, als wäre sie solarisiert "Violett" (# 6c71c4).)
Wenn Sie die Linieneinstellung
t_Co
undg:solarized_termcolors
von Ihrem vimrc * entfernen und die Terminalfarben korrekt konfigurieren, sollten Sie feststellen, dass das solarisierte 16-Farben-Farbschema funktioniert.* Diese Linien werden solarisiert, um den (weniger zuverlässigen) 256-Farben-Modus zu verwenden. Dies sollte auch funktionieren (ich vermute, dass @Jubal richtig ist, um darauf hinzuweisen, dass BCE das Problem ist ), aber der 16-Farben-Modus ist vorzuziehen, es sei denn, Sie möchten in Ihrem Terminal ausdrücklich keine Solarisierung verwenden.
quelle
Scheint, als hättest du deine Antwort gefunden. Ich hatte das gleiche Problem und nichts oben hat funktioniert. Was für mich funktionierte, war die Verwendung von Auseinandersetzungen im
terminalrc
Gegensatz zu Sgerrands .Mein relevanter
vimrc
ist einfach:Hoffe das hilft jemandem!
quelle
Das funktioniert also für mich (auf allen Terminals, die ich früher verwendet habe - xterm, konsole, gnome-terminal, iterm2, roxterm - unter Linux und OS X, auch mit gvim und macvim):
quelle
Dies war eine schwierige Aufgabe (ich verwende Terminal Vim in Linux Mint), und leider habe ich nicht alle Details aufgeschrieben, die ich getan habe. Hier ist der relevante Abschnitt meines vimrc:
Es kann sich auch lohnen, sich dieses Projekt auf GitHub anzuschauen .
quelle
Für mich hat es funktioniert, diesen Teil Ihrer Einstellungen zu entfernen
Ich verwende ein xfce4-Terminal
quelle
Ich hatte dieses Problem auch mit
xfce-terminal
.Nach ein wenig Recherche habe ich diesen Fehler entdeckt : Alles, was Sie
$TERM
in Ihrem XFCE-Terminal eingestellt haben, wird stillschweigend ignoriert.Ich denke, dies ist wirklich ein Fehler der zugrunde liegenden (und nicht verwalteten) alten VTE-Bibliothek , die das XFCE-Terminal (immer noch GTK + 2-basiert) verwendet. Der Wechsel zu einem GTK + 3-Terminal, das implizit die neue VTE-Bibliothek verwendet , löste das Problem.
quelle