J'utilise iterm2 et lorsque je suis en mode tmux, le schéma de couleurs que j'ai défini dans vim n'apparaît pas. Seul le jeu de couleurs que j'ai défini dans iterm. Si j'exécute vim depuis Shell, le schéma de couleurs semble correct - ce n'est que lorsque je suis en mode tmux.
J'ai essayé de configurer :colorscheme molokai
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.
Me manque-t-il des réglages dans iterm ou tmux.conf? Mes points sont sur github ici.
J'ai eu le même problème. La seule différence était que j'utilisais solarize
plutôt que molokai
.
Pour résoudre le problème, j'ai configuré un alias dans ~/.bashrc
:
alias tmux="TERM=screen-256color-bce tmux"
Et configurez l'option default-terminal
dans ~/.tmux.conf
:
set -g default-terminal "xterm"
Enfin, faites $ source ~/.bashrc
pour charger un nouvel alias.
Comme @romainl le mentionne ci-dessus, je devais obliger tmux à utiliser 256 couleurs en ajoutant l'indicateur -2
:
$ tmux -2
J'ai ajouté alias tmux='tmux -2'
à mon profil bash, alors je n'oublie pas :)
J'ai essayé toutes les solutions ci-dessus et ce qui a finalement fonctionné pour moi, c'est de mettre les lignes suivantes dans .tmux.conf
:
set -g default-terminal "xterm-256color"
Je viens de découvrir pourquoi j'avais beaucoup de confusion. Comme d’autres ici, j’avais du mal à faire en sorte que le réglage du terminal par défaut soit effectif. Je me suis rappelé que j'avais une session tmux en arrière-plan. J'ai re-connecté 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 dans .tmux.conf
a commencé à prendre effet. Je ne sais pas si d’autres le font également, mais je recommande de fermer tous les processus tmux avant de modifier le fichier .tmux.conf
.
Ma configuration a été configurée pour fonctionner sur ma machine locale (OSX 10.9.5 avec iTerm2) sans aucune modification de .bashrc
ou .bash_profile
. Tout ce que j'ai fait a été d'ajouter la ligne set -g default-terminal "xterm-256color"
à ~/.tmux.conf
et de redémarrer tous les processus tmux.
J'ai obtenu que ma configuration à distance (ssh sur Ubuntu 14.04) fonctionne exactement de la même manière sans aucune modification de .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é à dire screen
comme valeur jusqu'à ce que je redémarre tous les processus tmux, point auquel il a reflété xterm-256color
comme prévu.
J'espère que cela pourra aider.
C’est donc un peu vicié, mais il vaut la peine de mentionner que l’utilisation de l’écran casse souvent les touches Accueil et Fin. En utilisant
export TERM="xterm-256color"
in devrait en conserver la fonctionnalité et permettre au schéma de couleurs (ou au CPL) de fonctionner correctement.
J'avais besoin de vim pour afficher correctement avec tmux dans terminal sur Ubuntu et cygwin/mintty sur Windows. Je l'ai obtenu au travail en combinant les réponses comme ceci.
En .bashrc:
alias tmux="tmux -2"
En .vimrc:
" use 256 colors in terminal
if !has("gui_running")
set t_Co=256
set term=screen-256color
endif
" fix cursor display in cygwin
if has("win32unix")
let &t_ti.="\e[1 q"
let &t_SI.="\e[5 q"
let &t_EI.="\e[1 q"
let &t_te.="\e[0 q"
endif
sur la base des réponses à cette question, cette page wiki de Vim et cette question de curseur de bloc
J'ai essayé toutes les instructions ci-dessus et j'ai découvert que la chose la plus importante est que je dois explicitement ajouter la ligne suivante dans mon fichier .bashrc.
export TERM=screen-256color
Je ne sais pas pourquoi l'alias tmux = "TERM = screen-256color-bce tmux" ne fonctionne pas . J'utilise Sierra 10.12.1.
Si quelqu'un a besoin d'une prise en charge des couleurs 24 bits:
Tmux supporte les couleurs 24 bits à partir de la version 2.2. Si votre terminal prend en charge les couleurs 24 bits, ajoutez votre terminal au paramètre de substitution du terminal. Par exemple,
set -ga terminal-overrides ",xterm-256color:Tc"
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 dans .bashrc
ou .zshrc
.
J'espère que cela pourrait aider.
L'ajout de la ligne suivante dans le fichier .tmux.conf a fonctionné pour moi avec macOS Sierra 10.12.6,
set -g default-terminal "screen-256color"
Si vous utilisez tmuxinator
ou mux
, vous devrez les ajouter dans .bashrc
ou .zshrc
:
alias tmux='TERM=screen-256color tmux -2'
alias tmuxinator='TERM=screen-256color tmuxinator'
alias mux='TERM=screen-256color mux'
Ces forces à utiliser 256 couleurs dans le terminal.
Ensuite, les commandes tmux
, tmuxinator
et mux
fonctionneront.
Pour configurer la couleur correcte et éliminer le problème de rendu dans Ubuntu et Mac:
A partir de la page de manuel tmux, ajout de flag comme suit:
tmux -2
Cet indicateur -2
oblige tmux à s'exécuter en mode 256 couleurs.
Ça marche pour moi
Je n'ai pas eu beaucoup de chance en essayant d'exporter une TERM
différente ou de configurer default-terminal dans mon .tmux.conf
.
Ma solution pour fixer les couleurs vim dans tmux ajoutait cette ligne à .tmux.conf
:
set -g terminal-overrides 'xterm:colors=88'
Je ne suis pas sûr de savoir pourquoi cette substitution était nécessaire étant donné que mon TERM=xterm
et moi avons iTerm également réglé sur xterm, mais cela semble fonctionner.
J'ai supprimé la ligne set termguicolors
, mais cela ne fonctionne pas . Définir set notermguicolors
à la place dans les .vimrc
.
Je viens juste de faire face à ce problème, et bien que toutes les réponses précédemment affichées soient utiles, elles ne résolvent pas le problème dans mon cas.
Mon problème a été résolu en supprimant la ligne suivante dans mon .vimrc
:
set termguicolors
qui était redondant avec une autre instruction de toute façon.
Maintenant, avec la ligne suivante trouvée dans les réponses précédentes dans mon .tmux.conf
:
export TERM="screen-256color"
tout est beau et coloré.