2010-12-06 4 views
6

Ich möchte wissen, ob es möglich ist, verfügbare Farben in Terminal, das Vim aufgerufen wurde, zu erkennen, so dass ich verschiedene Farbschemas für jede Farbsituation auswählen konnte.Die eleganteste Art, verfügbare Farben im Terminal zu erkennen, um Farbschemata in vim zu verwenden?

Dies unterscheidet sich von der Überprüfung &t_Co Variable. Manchmal öffne ich einen vim mit 8 Farben und kann t_Co=256 setzen, um einige Farbschemas zu verwenden, aber manchmal (wie in Terminal.app in Mac), das Setzen dieser Variable wirft keinen Fehler aber das t_Co wird nicht geändert, weil Terminal.apps Farblimit ist 16.

Fakt ist: Ich kenne diese Grenze nur durch Erfahrung, ich würde gerne wissen, ob es möglich ist, diesen Wert aus dem Aufruf einer Funktion (if terminal_supports > 256) oder so ähnlich zu kennen.

Kann ich es nur mit viml-Funktionen tun, oder ich würde einige Bash-Skripte erstellen und sie von vimrc zum Beispiel aufrufen? Ich hätte gerne diese Informationen in Linux, Mac und Windows (auch mit Cygwin).

(Wenn ich aus irgendeinem Grund diese Informationen nicht vom System bekommen kann, gibt es eine Tabelle oder in vim helfen einige Informationen über verschiedene Terminals und ihre Farbmöglichkeiten? Wenn ja, dann könnte ich eine Hash-Tabelle erstellen mit allen Terminals und ther Farben Fähigkeiten)

Antwort

3

Ein weiterer Versuch:. einige Informationen erhalten Sie hier, wenn Sie es nicht bereits der verlinkten Seite, einschließlich informativer Link am Ende gefunden zu haben: So

256_colors_in_vim

Soweit ich weiß, bekommt Vim die t_Co-Nummer von termcap. Also, wenn Sie Wert von Termcap erhalten können, um die maximal unterstützten Farben korrekt widerzuspiegeln, dann sind Sie eingestellt. Ich denke, das ist, was die Info in der verlinkten Seite tut, zumindest für 256 Farbausdrücke. . .

+0

Ich wünschte, diese Seite war informativer, zumindest für mich T_Co ist auf gnome-terminal auf Ubuntu und auf Terminal.app auf Mac auf 8 gesetzt, so kann ich nicht einfach T_Co auf 256 setzen, weil es versaut, wenn ich ssh vom Mac zur Ubuntu-Box. –

+0

@JasonAxelson: Ich denke, Sie sollten sicherstellen, dass Ihr Begriff korrekt eingestellt ist oder Ihre termcap/terminfo-Datei einrichten. Siehe den Kommentar auf dieser Seite über "automatisch den TERM für xterm korrekt einstellen". – idbrii

Verwandte Themen