Kann Vim ANSI-Farben ohne Farbschema vom Terminal ausgeben?


7

In vielen Terminalemulatoren können Sie Farben definieren:

Geben Sie hier die Bildbeschreibung ein

Anstatt zu versuchen, dasselbe Thema in einem Vim-Farbschema zu approximieren (und zu duplizieren!), Gibt es eine Möglichkeit, Terminal Vim anzuweisen, ANSI-Escape-Codes für die bereits definierten Farben ("rot", "grün", "gelb" auszugeben "," Magenta "usw.)?

Wenn nicht, warum nicht?

Antworten:


7

Angenommen, Ihr Terminalemulator behauptet nicht, 256 Farben zu unterstützen ( $ echo $TERMsollte eine Zeichenfolge ausgeben, die keine enthält 256color), und Sie haben Vim nicht angelogen ( :echo &t_Cosollte ausgeben 8oder 16), sollte Vim die von Ihnen definierten "ANSI" -Farben berücksichtigen Ihr Terminalemulator.

Die integrierten Farbschemata verwenden standardmäßig alle diese "ANSI" -Farben - entweder nach Namen oder nach Nummer -, aber viele Farbschemata von Drittanbietern wurden speziell für die GUI und / oder für Terminalemulatoren mit 256 Farben entwickelt. Diese Farbschemata funktionieren in 8/16-Farbkonfigurationen im Allgemeinen überhaupt nicht (oder nur sehr schlecht).

Sie müssen also mit integrierten Farbschemata und Farbschemata von Drittanbietern experimentieren, um die "perfekte" Kombination zu finden.

Sie können nach den folgenden Hinweisen suchen, um festzustellen, ob ein Farbschema in Ihrem Setup funktioniert:

ctermfg=red    use of names means it works in 8/16 color terminals
ctermfg=7      use of numbers below 16 means it works in 8/16 color terminals
ctermfg=123    use of numbers between 16 and 255 means it works in 256 color terminals
guifg=...      means it works in GUI Vim
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.