Lors de l'utilisation de vim dans tmux, je peux voir que la prise en charge de 256 couleurs est activée. avec des couleurs $ tput
Cependant, changer la couleur dans vim en tmux changera la couleur par ligne, mais pas l’arrière-plan. voir capture d'écran
Voici un extrait du fichier .vimrc, par exemple. Mon schéma de couleurs d'origine est darkisé puis, après exécution: Colourscheme molokai, vous voyez ce qui se passe.
Info
- gnome-terminal
- frapper
dans mon ~ / .tmux.conf
set -g default-terminal "screen-256color"
dans mon ~ / .vimrc
set t_Co=256
dans mon ~ / .bashrc
# ryan
export TERM="xterm-256color"
# ryan
alias tmux="tmux -2"
dans mon ~ / .profile
# ryan 256 color support
if [ -e /usr/share/terminfo/x/xterm-256color ]; then
export TERM='xterm-256color'
else
export TERM='xterm-color'
fi
Des idées pour obtenir un changement complet de couleurs dans vim? Est-ce que tous mes extraits des fichiers sont beaux?
Réponses:
D'après l'apparence de vos fichiers .bashrc et .profile, les shells de tmux remplacent le paramètre "terminal par défaut" de votre conf. Tmux. Quelque chose comme ça:
TERM=screen-256color
TERM=xterm-256color
vous pouvez vérifier cela en exécutant
dans une coquille tmux fraîche.
Tmux est relativement difficile à définir correctement. Si vous le pouvez, définissez la valeur du terme dans la configuration de gnome-terminal et non dans votre .bashrc. Sinon, entourez ces paramètres avec une vérification de TERM "screen" ou "screen-256color", et ne les réinitialisez pas dans ce cas.
Tmux veut VRAIMENT que le terminal soit réglé sur
screen
ouscreen-256color
la source
set -g default-terminal "screen-256color"
ligne dans votre conf de tmux.if [[ $TERM == xterm ]]; then TERM=xterm-256color; fi
, ça a fonctionné pour moi.Comme expliqué ici , désactivez BCE ( Background Color Erase ) en désactivant l'
t_ut
option de terminal (exécutée:set t_ut=
dans Vim, puis appuyez sur Control+ Lpour actualiser l'affichage du terminal) afin que les combinaisons de couleurs fonctionnent correctement lorsque Vim est utilisé dans les écrans tmux et GNU.la source
set t_ut=
à mon vimrc, ce qui évite d'avoir à utiliser manuellement la commande et il n'est pas nécessaire d'utiliser <kbd> Control </ kbd> + <kbd> L </ kbd> puisque la session commence avec BCE désactivé.J'ai trouvé un meilleur moyen sur ce post . Vous pouvez créer un alias de tmux
tmux -2
qui obligera tmux à supposer que le shell utilise un terminal 256 couleurs.la source
C'est ce qui a fonctionné pour moi dans # Ubuntu et # Mac:
Recharger les paramètres:
Configurer .bashrc pour Mac (tel qu'il est utilisé par tmux)
Configurez l’option "default-terminal" dans ~ / .tmux.conf.
la source
Une solution rapide consiste à exécuter les opérations suivantes dans le terminal.
export TERM=xterm-color
Vous pouvez l'ajouter à votre
~/.bash_profile
profil ou à un autre profil pour qu'il soit toujours défini au début.la source
.zshrc
pour que le mode visuel soit réellement visible.J'ai eu un problème très similaire pour gnome-terminal + tmux + vim mais il a été étendu également à un problème de combinaison de touches spécifique:. Je devais combiner quelques choses ensemble. Tout d'abord, je devais configurer mon fichier .tmux.conf dans:
Puis dans .vimrc:
Et cela a fait le travail pour les clés et le fond.
la source
Si vous rencontrez toujours des problèmes: j’ai remarqué que vim retombe dans l’utilisation de l’option
t_Co=8
dans tmux, même si elle$TERM
est définie surscreen-256color
. Ma solution de contournement est cet extrait de vimrc:La
$TMUX
variable n'est remplie que si elle se trouve dans une session tmux. Dans ce cas, j'autorise vim à utiliser 256 couleurs. Notez que je désactive également les termes terminologiques, car tmux ne prend pas en charge les couleurs vraies.la source
Juste maintenant fait face au même problème. Sur la base de la réponse de bloy et du contenu actuel de mon fichier ~ / .profile (en réalité, il s’agit du même que celui de winchendonsprings ), j’ai résolu mon problème de la manière suivante:
~/.profile
:La logique est simple: si nous ne sommes pas dans la session tmux, utilisez xterm (coloré ou non). Sinon la même chose pour l'écran.
C'est peut-être trop verbeux, mais vous avez eu l'idée.
la source