2017-08-09 3 views
2

Ich verwende eine Standardinstallation von OpenSuse 42.3. Ich ssh zum Opensuse-Rechner über meinen MacOS-Computer. Wenn ich vim verwende, um Dateien im Terminalfenster anzuzeigen, ist die Syntaxhervorhebung angenehm anzusehen. Ich habe auch ein Docker-Image einer Aktieninstallation von OpenSuse 42.3 auf meinem OpenSuse-Rechner installiert. Wenn ich den Container hochfahre und eine Python-Datei mit vim innerhalb des Containers öffne, sieht die Syntaxhervorhebung anders aus. Ich habe den Inhalt der Datei /usr/share/vim/vim74/syntax/python.vim untersucht, und es gab keine Unterschiede zwischen der Syntaxdatei, die auf dem OpenSuse-Host verwendet wird, und dem OpenSuse-Container.Warum ist vim Syntaxhervorhebung auf verschiedenen Terminals?

Unten links ist, was ich sehe, wenn ich von meinem Mac auf den OpenSuse-Rechner ssh und öffnen Sie eine Python-Datei. Auf der rechten Seite ist das, was ich sehe, wenn ich den Andock-Container starte (immer noch im selben Terminal-Fenster, das ich für das Bild auf der linken Seite gestartet habe).

Python file when using vim to view the file on the host OpenSuse Python file when using vim to view the file on the container OpenSuse

Sollte nicht die Anzeige auf dem Terminal-Fenster der Syntax-Hervorhebungen Datei gleich sein, wenn die vim Syntaxdateien identisch sind?

+1

Syntax-Dateien definieren nicht die Farben nur Tokens, siehe http://vim.wikia.com/wiki/Better_colors_for_syntax_highlighting – perreal

+0

Das Problem ist, dass auf dem Host-Rechner der Wert der Umgebungsvariablen TERM = Xterm-256color, während auf der Container wurde nur auf TERM = xterm gesetzt. – wandadars

+0

Dies könnte damit zu tun haben, ob vim denkt, dass Ihr Terminal "hell" oder "dunkel" ist. – o11c

Antwort

3

Die Hervorhebung im Terminal kann von der Anzahl der verfügbaren Farben abhängen. Einige Farbschemen haben separate Zweige von Farbdefinitionen, je nachdem wie viele verfügbar sind. Sie können selbst überprüfen, wahrscheinlich über

:set t_Co? 

Sie 256 für TERM=xterm-256color bekommen und nur 16 für TERM=xterm.

Obwohl Sie :set t_Co=256 erzwingen können und Ihr Farbschema neu laden, ist es besser, die Ursache zu beheben, d. H. Den falschen Wert .

Verwandte Themen