bei der verwendung von vim in tmux kann ich feststellen, dass die 256-farbunterstützung aktiviert ist. mit $ tput Farben
Wenn Sie jedoch das Farbschema in vim in tmux ändern, wird das Farbschema zeilenweise geändert, nicht jedoch der gesamte Hintergrund. siehe Screenshot
Hier ist zum Beispiel ein Ausschnitt aus meiner .vimrc-Datei. Mein ursprüngliches Farbschema ist dunkel solarisiert und dann nach dem Ausführen: Farbschema molokai sehen Sie, was passiert.
die Info
- gnome-terminal
- bash
in meiner ~ / .tmux.conf
set -g default-terminal "screen-256color"
in meinem ~ / .vimrc
set t_Co=256
in meinem ~ / .bashrc
# ryan
export TERM="xterm-256color"
# ryan
alias tmux="tmux -2"
in meinem ~ / .profile
# ryan 256 color support
if [ -e /usr/share/terminfo/x/xterm-256color ]; then
export TERM='xterm-256color'
else
export TERM='xterm-color'
fi
Irgendwelche Ideen, wie ich eine vollständige Farbänderung in vim bekommen kann? Sehen alle meine Schnipsel aus den Dateien gut aus?
Antworten:
Nach dem Aussehen Ihres .bashrc und .profile überschreiben die Shells in tmux die 'default-terminal'-Einstellung in Ihrer tmux conf. Etwas wie das:
TERM=screen-256color
TERM=xterm-256color
Sie können dies überprüfen, indem Sie ausführen
in einer frischen tmux-schale.
Tmux ist relativ pingelig, wenn es darum geht, ein Terminal richtig einzustellen. Wenn Sie können, legen Sie den Begriffswert in der Konfiguration von gnome-terminal fest, nicht in Ihrer .bashrc-Datei. Wenn dies nicht der Fall ist, setzen Sie diese Einstellungen mit einem Häkchen bei "screen" oder "screen-256color" TERM und setzen Sie sie in diesem Fall nicht zurück.
Tmux möchte das Terminal WIRKLICH auf
screen
oder setzenscreen-256color
quelle
set -g default-terminal "screen-256color"
Leitung in deiner tmux conf.if [[ $TERM == xterm ]]; then TERM=xterm-256color; fi
, es hat bei mir funktioniert.Deaktivieren Sie, wie hier erläutert , das Löschen der Hintergrundfarbe ( Background Color Erase, BCE), indem Sie die
t_ut
Terminal-Option deaktivieren (:set t_ut=
in Vim ausführen und dann Control+ drücken L, um die Anzeige des Terminals zu aktualisieren), damit die Farbschemata ordnungsgemäß funktionieren, wenn Vim im tmux- und GNU-Bildschirm verwendet wird.quelle
set t_ut=
Am Ende habe ich mein vimrc hinzugefügt , wodurch die manuelle Verwendung des Befehls entfällt und die Verwendung von <kbd> Control </ kbd> + <kbd> L </ kbd> nicht erforderlich ist, da die Sitzung mit deaktiviertem BCE beginnt.Ich habe in diesem Beitrag einen besseren Weg gefunden . Sie können einen Alias für tmux erstellen, bei
tmux -2
dem tmux davon ausgeht, dass die Shell ein 256-Farben-Terminal verwendet.quelle
Das hat bei mir in #Ubuntu und #Mac funktioniert:
Einstellungen neu laden:
Richten Sie .bashrc für Mac ein (wie es von tmux verwendet wird)
Richten Sie in ~ / .tmux.conf die Option "default-terminal" ein.
quelle
Eine schnelle Lösung besteht darin, Folgendes im Terminal auszuführen.
export TERM=xterm-color
Sie können es zu Ihrem
~/.bash_profile
oder einem anderen Profil hinzufügen, um es beim Start immer festzulegen.quelle
.zshrc
um den visuellen Modus tatsächlich sichtbar zu machen.Ich hatte ein sehr ähnliches Problem mit gnome-terminal + tmux + vim, aber es wurde auch auf bestimmte Tastenkombinationen erweitert:. Ich musste ein paar Dinge miteinander kombinieren. zuerst musste ich meine .tmux.conf einrichten in:
Dann in .vimrc:
Und das hat den Job für die Tasten und den Hintergrund erledigt.
quelle
Wenn Sie immer noch auf Probleme
t_Co=8
stoßen : Ich habe festgestellt, dass vim auf die Verwendung der Option in tmux zurückgreift, auch wenn auf gesetzt$TERM
istscreen-256color
. Mein Workaround ist dieses Snippet in vimrc:Die
$TMUX
Variable wird nur in einer tmux-Sitzung gefüllt. In diesem Fall erlaube ich vim, 256 Farben zu verwenden. Beachten Sie, dass ich auch termguicolors deaktiviert habe, da tmux keine True Colors unterstützt.quelle
Gerade jetzt stand das gleiche Problem. Basierend auf der Antwort von bloy und dem aktuellen Inhalt meines ~ / .profile (tatsächlich ist es dasselbe wie bei winchendonsprings ) habe ich mein Problem wie folgt gelöst:
~/.profile
:Die Logik ist einfach: Wenn wir nicht in der tmux-Sitzung sind, verwenden Sie xterm (farbig oder nicht). Ansonsten das gleiche für Bildschirm.
Vielleicht ist es zu ausführlich, aber Sie haben die Idee.
quelle