J'utilise iterm2 et lorsque je suis en mode tmux, le schéma de couleurs que j'ai défini dans vim ne s'affiche pas. Seul le schéma de couleurs que j'ai défini dans iterm. Si je lance vim à partir du shell, le schéma de couleurs semble correct - ce n'est que lorsque je suis en mode tmux.
J'ai essayé de définir :colorscheme molokai
quand dans vim (voir capture d'écran ci-dessous) et cela ne change pas - encore une fois, le schéma de couleurs par défaut pour iterm2 reste.
Suis-je en train de manquer un paramètre pour iterm ou tmux.conf? Mes dotfles sont sur github ici.
$ tmux -2
?Réponses:
J'ai eu le même problème. La seule différence était que j'utilisais
solarize
plutôtmolokai
.Pour résoudre le problème, j'ai configuré un alias dans
~/.bashrc
:Et configurez l'
default-terminal
option dans~/.tmux.conf
:Enfin, faites
$ source ~/.bashrc
pour charger un nouvel alias.la source
tmux -2
car c'est plus verbeux.set -g default-terminal "screen-256color"
pour travailler plutôt quexterm
sur OS X, intégré dans une boîte Ubuntu. J'ai fait référence à ce site: rhnh.net/2011/08/08/vim-and-tmux-on-osxtmux -2
outmux -2 attach
(tmux décide chaque fois que vous attachez une session nouvelle ou existante à un terminal). Un alias sensé seraitalias tmux='tmux -2'
. Voir aussi la prise en charge de tmux, TERM et 256 couleurstmux -2
option avec leset -g default-terminal "screen-256color"
travaillé pour moi, ce sera mon choix. Mais merci quand même!.tmux.conf
paramètre ne semble pas prendre effet, fermez tous les processus tmux et redémarrez. Vous pouvez simplement le faireset -g default-terminal "screen-256color"
sans définir d'alias.bashrc
. Je pense que les gens font des solutions de contournement comme l'alias de variable d'environnement parce qu'ils ne ferment pas tous les processus tmux après la configuration.tmux.conf
.Comme @romainl le mentionne ci-dessus, j'ai dû forcer tmux à utiliser 256 couleurs en ajoutant le
-2
drapeau:J'ai ajouté
alias tmux='tmux -2'
à mon bash_profile, donc, je n'oublie pas :)la source
-2
mais j'ai 256 couleurs fonctionnant dans Vim dans tmux.TERM
estscreen
.-2
ne change pasTERM
et ne change rien à la couleur des informations que Vim obtient de son environnement::echo &t_Co
retourne toujours8
. Avec les informations qui lui sont données, Vim fait ce qu'il faut. Les seules choses qui doivent être définies sont 1. votre émulateur de terminalTERM
àxterm-256color
ou une valeur équivalente commeurxvt-unicode-256color
et 2. la valeurTERM
par défaut de tmux avecset -g default-terminal "screen-256color"
.TERM
définixterm
, nonxterm-256color
, d'où la nécessité de s'exécutertmux -2
(ouTERM=xterm-256color tmux
, ou de changer le termcap ou d'autres façons d'accomplir la même chose).J'ai essayé toutes les solutions ci-dessus et ce qui a finalement fonctionné pour moi, c'est de mettre les lignes suivantes
.tmux.conf
:la source
Je viens de découvrir pourquoi j'avais beaucoup de confusion. Comme d'autres ici, j'avais du mal à faire en sorte que le paramètre de terminal par défaut prenne effet. Je me suis souvenu que j'avais une session tmux en arrière-plan. J'ai réattaché ma session, fermé mes processus et fermé TOUS les processus tmux. La prochaine fois que j'ai redémarré tmux, le paramètre de terminal par défaut a
.tmux.conf
commencé à prendre effet. Je ne sais pas si d'autres le font aussi mais je recommande de fermer tous les processus tmux avant de modifier le.tmux.conf
fichier.J'ai fait fonctionner ma configuration sur ma machine locale (OSX 10.9.5 avec iTerm2) sans aucune modification de
.bashrc
ou.bash_profile
. Tout ce que j'ai fait, c'est d'ajouter la ligneset -g default-terminal "xterm-256color"
à~/.tmux.conf
et remis en marche tous les processus tmux.J'ai obtenu que ma configuration à distance (ssh vers Ubuntu 14.04) fonctionne exactement de la même manière sans aucune modification
.bashrc
. J'ai simplement ajoutéset -g default-terminal "xterm-256color"
à~/.tmux.conf
sur ma machine distante et redémarré tous les processus tmux distants.Vous pouvez tester ce que Vim voit en faisant
echo $TERM
depuis une session tmux. Il a continué à direscreen
comme valeur jusqu'à ce que je redémarre tous les processus tmux, auquel cas il se reflétaitxterm-256color
comme prévu.J'espère que cela pourra aider.
la source
default-terminal
option dans.tmux.conf
a fonctionné 100% du temps jusqu'à présent.Donc, c'est un peu vicié, mais il vaut peut-être la peine de mentionner que l'utilisation de l'écran casse souvent les touches Début et Fin. En utilisant
in devrait conserver la fonctionnalité de ces derniers et permettre au jeu de couleurs (ou powerline) de fonctionner correctement.
la source
J'avais besoin que vim s'affiche correctement avec tmux dans le terminal sur ubuntu et cygwin / mintty sur windows. Je l'ai fait fonctionner en combinant les réponses comme celle-ci.
Dans .bashrc:
En .vimrc:
basé sur les réponses à cette question, cette page wiki Vim et cette question de curseur de bloc
la source
tmux
alias.set t_Co=256
à .vimrc et il a été corrigé. Je n'avais pas besoin de créer d'tmux
alias.J'ai essayé toutes les instructions ci-dessus, et j'ai découvert que la chose la plus importante est que je dois ajouter explicitement la ligne suivante dans mon fichier .bashrc.
Je ne sais pas pourquoi l'alias tmux = "TERM = screen-256color-bce tmux" ne fonctionne pas. J'utilise Sierra 10.12.1.
la source
Si quelqu'un a besoin d'une prise en charge des couleurs 24 bits:
Tmux prend en charge la couleur 24 bits à partir de la version 2.2. Si votre terminal prend en charge la couleur 24 bits, ajoutez votre terminal au paramètre de remplacement de terminal. Par exemple,
Liste de contrôle de mon environnement:
xterm-256color
)xterm-256color
à.vimrc
)set -ga terminal-overrides ",xterm-256color:Tc"
à.tmux.conf
)Rien d'autre que je dois ajouter
.bashrc
ou.zshrc
.J'espère que cela pourrait vous aider.
la source
Étant donné qu'il s'agit du premier résultat sur Google et qu'aucune des réponses ci-dessus n'a aidé ... je voulais publier ceci afin que quelqu'un puisse le trouver utile
dans
.vimrc
:HTH
la source
L'ajout de la ligne suivante dans .tmux.conf a fonctionné pour moi avec macOS Sierra 10.12.6,
set -g default-terminal "screen-256color"
la source
Si vous vous trouvez dans la même situation que moi, que rien de ce qui précède n'a fonctionné .. essayez ceci:
dans
.tmux.conf
:dans la configuration bash (peut
.bashrc
- être ou.bash_profile
):puis exécutez:
puis relancez tmux
la source
Si vous utilisez
tmuxinator
oumux
, vous devrez les ajouter dans.bashrc
ou.zshrc
:Ces forces d'utiliser 256 couleurs dans le terminal.
Ensuite
tmux
,tmuxinator
et lamux
commande fonctionnera tous.la source
Afin de configurer la couleur correcte et de se débarrasser des problèmes de rendu dans Ubuntu et Mac:
vérifie ça
la source
Je devais juste faire face à ce problème, et bien que toutes les réponses précédemment publiées aient été utiles, elles n'ont pas résolu le problème dans mon cas.
Mon problème a été résolu en supprimant la ligne suivante dans mon
.vimrc
:qui était de toute façon redondante avec une autre instruction.
Maintenant, avec la ligne suivante trouvée dans les réponses précédentes dans mon
.tmux.conf
:tout est beau et coloré.
la source
J'ai supprimé la ligne
set termguicolors
, mais cela ne fonctionne pas. Mise enset notermguicolors
place à la place.vimrc
.la source
Depuis la page de manuel tmux, ajoutez un indicateur comme suit:
Ce
-2
drapeau force tmux à fonctionner en mode 256 couleurs.Ça marche pour moi
la source
Je n'ai pas eu beaucoup de chance en essayant d'exporter un
TERM
terminal par défaut différent ou défini dans mon.tmux.conf
.Ma solution pour fixer les couleurs vim dans tmux a été d'ajouter cette ligne à
.tmux.conf
:Je ne sais pas pourquoi ce remplacement était nécessaire étant donné que mon
TERM=xterm
et moi avons également réglé iTerm sur xterm, mais cela semble fonctionner.la source
J'utilise Ubuntu bionic 18.04.4 LTS et tmux 2.6. J'ai le même problème et il peut être résolu en ajoutant simplement ceci dans .bashrc
Et bien sûr, n'oubliez pas de vous l'approvisionner.
source ~/.bashrc
Ou redémarrez simplement votre teminal
la source