Ich verwende iterm2 und wenn ich mich im tmux-Modus befinde, wird das in vim festgelegte Farbschema nicht angezeigt. Nur das Farbschema, das ich in iterm eingestellt habe. Wenn ich vim von der Shell aus starte, erscheint das Farbschema korrekt - nur wenn ich mich im tmux-Modus befinde.
Ich habe versucht, :colorscheme molokai
in vim zu setzen (siehe Abbildung unten) und es ändert sich nicht - wieder bleibt das Standardfarbschema für iterm2 erhalten.
Fehlt mir eine Einstellung für iterm oder tmux.conf? Meine Dotfles sind hier oben auf Github.
$ tmux -2
?Antworten:
Ich hatte das gleiche Problem. Der einzige Unterschied war, dass ich
solarize
dann eher benutzemolokai
.Um das Problem zu beheben, habe ich einen Alias eingerichtet in
~/.bashrc
:Und richten Sie die
default-terminal
Option ein in~/.tmux.conf
:Zuletzt müssen Sie
$ source ~/.bashrc
einen neuen Alias laden.quelle
tmux -2
da dies ausführlicher ist.set -g default-terminal "screen-256color"
eher arbeiten alsxterm
unter OS X, sshed in eine Ubuntu-Box. Ich habe auf diese Seite verwiesentmux -2
oder austmux -2 attach
(tmux entscheidet jedes Mal, wenn Sie eine neue oder vorhandene Sitzung an ein Terminal anhängen). Ein vernünftiger Alias wärealias tmux='tmux -2'
. Siehe auch Unterstützung für tmux, TERM und 256 Farbentmux -2
Option mit demset -g default-terminal "screen-256color"
für mich funktioniert hat, wird das meine Wahl sein. Danke trotzdem!.tmux.conf
Einstellung nicht wirksam zu werden scheint, schließen Sie alle tmux-Prozesse und starten Sie sie neu. Sie können einfach daraufset -g default-terminal "screen-256color"
verzichten, einen Alias festzulegen.bashrc
. Ich denke, die Leute führen Problemumgehungen wie den Alias für Umgebungsvariablen durch, weil sie nach der Konfiguration nicht alle tmux-Prozesse schließen.tmux.conf
.Wie oben von @romainl erwähnt, musste ich tmux zwingen, 256 Farben zu verwenden, indem ich das
-2
Flag hinzufügte :Ich
alias tmux='tmux -2'
habe meinem bash_profile hinzugefügt , also vergesse ich nicht :)quelle
-2
aber ich habe 256 Farben, die in Vim in tmux arbeiten.TERM
istscreen
.-2
ändert sich nichtTERM
und ändert nichts Farbbezogenes an den Informationen, die Vim aus seiner Umgebung erhält::echo &t_Co
kehrt immer noch zurück8
. Mit den Informationen, die es gibt, macht Vim das Richtige. Die einzigen Dinge, die eingestellt werden müssen, sind 1. Ihr TerminalemulatorTERM
aufxterm-256color
oder ein gleichwertiger Wert wieurxvt-unicode-256color
und 2. der Standardwert von tmuxTERM
mitset -g default-terminal "screen-256color"
.TERM
eingestelltxterm
, nichtxterm-256color
, daher muss ausgeführt werdentmux -2
(oderTERM=xterm-256color tmux
die Termkappe oder andere Methoden, um dasselbe zu erreichen).Ich habe alle oben genannten Lösungen ausprobiert und was schließlich für mich funktioniert hat, sind die folgenden Zeilen
.tmux.conf
:quelle
Ich habe gerade herausgefunden, warum ich viel Verwirrung hatte. Wie andere hier hatte ich Schwierigkeiten, die Standardeinstellung für das Terminal in Kraft zu setzen. Ich erinnerte mich, dass ich im Hintergrund eine tmux-Sitzung hatte. Ich habe meine Sitzung erneut angehängt, meine Prozesse geschlossen und ALLE tmux-Prozesse geschlossen. Beim nächsten Neustart von tmux wurde die Standardeinstellung für das Terminal
.tmux.conf
wirksam. Ich weiß nicht, ob dies auch andere tun, aber ich empfehle, alle tmux-Prozesse zu schließen, bevor Sie die.tmux.conf
Datei ändern .Ich habe mein Setup so eingerichtet, dass es auf meinem lokalen Computer (OSX 10.9.5 mit iTerm2) funktioniert, ohne dass Änderungen an
.bashrc
oder vorgenommen wurden.bash_profile
. Alles, was ich getan habe, war, die Zeileset -g default-terminal "xterm-256color"
zu~/.tmux.conf
allen tmux-Prozessen hinzuzufügen und neu zu starten.Ich habe mein Remote-Setup (ssh zu Ubuntu 14.04) so eingestellt, dass es ohne Änderungen genauso funktioniert
.bashrc
. Ich habe einfach hinzugefügt ,set -g default-terminal "xterm-256color"
um~/.tmux.conf
auf meinem Remote - Rechner und alle Remote tmux Prozesse neu gestartet.Sie können testen, was Vim sieht, indem Sie dies
echo $TERM
in einer tmux-Sitzung tun. Es wurde immer wiederscreen
als Wert angegeben, bis ich alle tmux-Prozesse neu startete. An diesem Punkt spiegelte es sichxterm-256color
wie erwartet wider .Hoffentlich hilft das.
quelle
default-terminal
Option in.tmux.conf
100% der Fälle bisher funktioniert hat.Das ist also etwas veraltet, aber es könnte erwähnenswert sein, dass die Verwendung des Bildschirms häufig die Home- und End-Tasten beschädigt. Verwenden von
in sollte die Funktionalität dieser beibehalten und ermöglichen, dass das Farbschema (oder die Stromleitung) einwandfrei funktioniert.
quelle
Ich brauchte vim, um mit tmux im Terminal unter Ubuntu und cygwin / mintty unter Windows korrekt anzuzeigen. Ich habe es zum Laufen gebracht, indem ich die Antworten so kombiniert habe.
In .bashrc:
In .vimrc:
basierend auf Antworten von dieser Frage, dieser Vim Wiki Seite und dieser Blockcursor-Frage
quelle
tmux
Alias machen.set t_Co=256
zu .vimrc hinzugefügt und es wurde behoben. Ich musste keinentmux
Alias erstellen .Ich habe alle oben genannten Anweisungen ausprobiert und festgestellt, dass das Wichtigste darin besteht, dass ich die folgende Zeile explizit in meine .bashrc-Datei einfügen muss.
Ich weiß nicht, warum der Alias tmux = "TERM = screen-256color-bce tmux" nicht funktioniert. Ich benutze Sierra 10.12.1.
quelle
Falls jemand eine 24-Bit-Farbunterstützung benötigt:
Tmux unterstützt ab Version 2.2 24-Bit-Farben. Wenn Ihr Terminal 24-Bit-Farben unterstützt, fügen Sie Ihr Terminal der Einstellung zum Überschreiben von Terminals hinzu. Beispielsweise,
Meine Umwelt-Checkliste:
xterm-256color
)xterm-256color
to.vimrc
)set -ga terminal-overrides ",xterm-256color:Tc"
zu.tmux.conf
)Nichts anderes muss ich hinzufügen
.bashrc
oder.zshrc
.Hoffe das könnte helfen.
quelle
Da dies das erste Ergebnis bei Google ist und keines der oben genannten Ergebnisse hilfreich war, wollte ich dies veröffentlichen, damit es jemand hilfreich findet
in
.vimrc
:HTH
quelle
Das Hinzufügen der folgenden Zeile in .tmux.conf funktionierte für mich mit macOS Sierra 10.12.6,
setze -g Standard-Terminal "screen-256color"
quelle
Wenn Sie sich in der gleichen Situation wie ich befinden, hat keiner der oben genannten Punkte funktioniert. Versuchen Sie Folgendes:
in
.tmux.conf
:in bash config (vielleicht
.bashrc
oder.bash_profile
):und dann ausführen:
und dann tmux neu starten
quelle
Wenn Sie
tmuxinator
oder verwendenmux
, müssen Sie diese in.bashrc
oder hinzufügen.zshrc
:Diese erzwingen die Verwendung von 256 Farben im Terminal.
Dann
tmux
,tmuxinator
undmux
Befehl werden alle arbeiten.quelle
Um die richtige Farbe einzurichten und Rendering-Probleme sowohl unter Ubuntu als auch unter Mac zu beseitigen:
Überprüfen Sie dies
quelle
Musste mich nur mit diesem Problem befassen, und obwohl alle zuvor veröffentlichten Antworten hilfreich waren, haben sie das Problem in meinem Fall nicht gelöst.
Mein Problem wurde behoben, indem die folgende Zeile in meinem entfernt wurde
.vimrc
:was ohnehin mit einer anderen Anweisung überflüssig war.
Nun, mit der folgenden Zeile in früheren Antworten in meinem
.tmux.conf
:Alles ist schön und bunt.
quelle
Ich habe die Leitung entfernt
set termguicolors
, aber es funktioniert nicht. Einstellungset notermguicolors
stattdessen in.vimrc
Arbeit.quelle
Fügen Sie auf der tmux-Manpage das folgende Flag hinzu:
Dies
-2
Flag zwingt tmux, im 256-Farben-Modus zu laufen.Das funktioniert bei mir
quelle
Ich hatte nicht viel Glück beim Versuch, ein anderes zu exportieren
TERM
oder das Standardterminal in meinem zu setzen.tmux.conf
.Meine Lösung zum Fixieren von Vim-Farben in tmux war das Hinzufügen dieser Zeile zu
.tmux.conf
:Ich bin mir nicht sicher, warum diese Überschreibung erforderlich war, da ich
TERM=xterm
und ich iTerm ebenfalls auf xterm eingestellt haben, aber es scheint zu funktionieren.quelle
Ich benutze Ubuntu bionic 18.04.4 LTS und tmux 2.6. Ich habe das gleiche Problem und es kann behoben werden, indem Sie dies einfach in .bashrc hinzufügen
Und natürlich vergessen Sie nicht, es zu beschaffen.
source ~/.bashrc
Oder starten Sie einfach Ihr Teminal neu
quelle