Ich habe Ubuntu 11.10 installiert. Dann habe ich das Solarized-Design für Gnome Terminal heruntergeladen. Vom Terminal aus sieht mein Vim gut aus: Das Plugin Vim-Powerline wird korrekt angezeigt und die Syntax wird mit den richtigen Farben hervorgehoben. Aber wenn ich tmux ausführe und dort Vim ausführe, verwendet die Syntaxhervorhebung nur eine Grundfarbe und Vim-Powerline zeigt keine Farben an. Ich habe mir die FAQ zu Vim-Powerline angesehen und die Lösung sollte diese Zeile in .tmux-config sein:
set -g default-terminal "screen-256color"
Aber es funktioniert nicht. Ich habe mir TERM angesehen und es gibt „xterm“ zurück, also habe ich Folgendes versucht:
set -g default-terminal "xterm-256color"
Aber auch das hilft nichts.
Dies ist die einzige Zeile in .tmux.config. In .vimrc habe ich folgende Zeilen:
call pathogen#infect()
set nocompatible
set encoding=utf-8
set laststatus=2
let g:Powerline_symbols = 'fancy'
set t_Co=256
syntax enable
set background=dark
colorsheme solarized
Antwort1
Das Starten von tmux mit dem folgenden Flag behebt dieses Problem für mich:
tmux -2
von der tmux-Manpage:
-2 Erzwingt, dass tmux davon ausgeht, dass das Terminal 256 Farben unterstützt.
Antwort2
das hat bei mir funktioniert
In.tmux.conf
set -g default-terminal "screen-256color"
In.vimrc
set term=screen-256color
Entfernen Sie den alten Termwert für .vimrc. Glauben Sie mir, das wird funktionieren
Antwort3
Ich habe das gleiche Problem unter Ubuntu 10.04 LTS mit Byobu 5.17 und tmux 1.5 und der neuesten Solarized-Version aus dem GitHub-Repo.
Ich konnte dies teilweise beheben, indem ich $TERM
in der .bashrc
Datei Folgendes angegeben habe:
export TERM="xterm-256color"
Außerdem scheint beim Launchpad ein Fehler gemeldet worden zu sein, der aber noch nicht behoben ist: byobu zeigt Dircolors nicht richtig an
Antwort4
Der Terminaltyp sollte in ~/.tmux.conf auf screen-256color eingestellt werden. Dadurch wird tmux mitgeteilt, wie die Umgebungsvariable TERM eingestellt werden soll. Daher funktioniert es für die aktuelle Sitzung nicht. Starten Sie eine neue und testen Sie sie dann.
Wenn es immer noch nicht funktioniert, können Sie Vim wie folgt ausführen:
TERM=screen-256color vi
Dadurch wird die Umgebungsvariable nur für eine einmalige VI-Ausführung festgelegt.
Wenn Vim dadurch nicht alle Farben anzeigt, testen Sie, ob Ihr Terminal (ich bin nicht sicher, ob Sie nur mit einem Terminalemulator testen) so kompiliert ist, dass es die 256-Farben-Palette unterstützt – laden Sie das folgende Perl-Skript vom betreffenden Terminalemulator herunter und führen Sie es aus.
http://scie.nti.st/dist/256colors2.pl
PS. Ich gehe davon aus, dass Sie den Tippfehler, den jordanbrock bemerkt hat, bereits korrigiert haben.