Verwenden von Farbschemata mit Vim und Kitt

Ich versuche, das Wüstenfarbschema mit VIM 7.0 unter CentOS 5.6 x64 zu verwenden, das sich hier befindet:

Http://hans.fugal.net/vim/colors/desert.vim

Ich habe die Datei heruntergeladen und in meinem Verzeichnis ~/.vim/colors gespeichert. Ich fordere VIM dann auf, das Farbschema zu verwenden, indem ich Folgendes ausstelle:

:colors desert

Es soll so aussehen:

geben Sie hier die Bildbeschreibung ein

Ich bekomme jedoch Folgendes:

geben Sie hier die Bildbeschreibung ein

Ich melde mich nur als regulärer auf diesem Server an benutzer (nicht root oder sudo) verwenden PuTTY 0.60 und haben die folgenden Optionen unter Window -> Colours festgelegt:

Allow terminal to specify ANSI colours - checked
Allow terminal to use 256-colour mode - checked
Bolded test is a different colour - checked
Attempt to use logical palettes - unchecked
Use system colours - unchecked

Wenn ich sudo oder mich als root anmelde und dasselbe versuche, erhalte ich keine anderen Farben als weißen Text auf schwarzem Hintergrund.

Sind diese Schemata hauptsächlich auf gVIM ausgerichtet und kann PuTTY diese Farben einfach nicht anzeigen?

Ich habe ein bisschen googelt und bin auf Artikel wie this one gestoßen, aber sie scheinen nicht zu funktionieren.

Author: Kev, 2011-09-14

1 answers

Standardmäßig präsentiert sich PuTTY als xterm. Die terminfo - Datenbank, die von verschiedenen Programmen zur Bestimmung der Terminalfunktionen verwendet wird, besagt, dass xterm nur acht Farben unterstützt:

$ infocmp -1L xterm | grep max_colors

Dies bedeutet, dass selbst wenn Ihre Version von Xterm den 256-Farben-Modus unterstützt, Programme davon nichts wissen.

  • Die einfachste Lösung besteht darin, Ihre Umgebungsvariable $TERM auf xterm-256color.

    (In ~/.profil, Sie könnten verwenden:
    if [ "$TERM" = xterm ]; then TERM=xterm-256color; fi)

  • Sie können PuTTY anweisen, sich über Konfiguration → Verbindung → Daten → Terminaltypzeichenfolge immer als xterm-256colorzu identifizieren.

    Hinweis: Wenn Sie #1 oder #2 verwenden und eine Verbindung zu einem Server herstellen, der nicht über den entsprechenden Terminfo-Eintrag verfügt, werden alle TUI-Programme unterbrochen.

  • Sie können auch die Option 't_Co' in vim auf 256 setzen, um den Terminfo-Wert zu überschreiben.

    if &term == "xterm"
        set t_Co=256
    endif
    
  • Oder du könntest bearbeiten Sie die Datenbank terminfo.

    $ infocmp -L -1 xterm | sed -r 's/(max_colors)#[0-9]+/\1#256/' > /tmp/xterm
    $ tic /tmp/xterm
    

    Der aktualisierte Eintrag wird in ~/.terminfo gespeichert.

 26
Author: user1686,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-05-03 02:23:02