37 votes

Vim dans tmux change de couleur de fond lors du défilement

Je utilise vim en mode couleur 256 sous Solaris (connecté via Putty sur Windows). Tout semble bon et fonctionne bien en dehors de tmux, mais à l'intérieur de tmux la couleur de fond change périodiquement lorsque l'on fait défiler un fichier.

Voici à quoi cela devrait ressembler :

Voici à quoi cela ressemble après avoir fait défiler un peu :

Merci !

53voto

sunaku Points 1197

Comme expliqué ici, désactivez Background Color Erase (BCE) en effaçant l'option du terminal t_ut (exécutez :set t_ut= dans Vim, puis appuyez sur Control+L pour rafraîchir l'affichage du terminal) afin que les thèmes de couleurs fonctionnent correctement lorsque Vim est utilisé dans tmux et GNU screen.

Conformément au lien ci-dessus, BCE peut être défini dans .vimrc en ajoutant ce qui suit

if &term =~ '256color'
    " désactiver Background Color Erase (BCE) pour que les thèmes de couleurs
    " rendent correctement quand dans un tmux et un GNU screen en 256 couleurs.
    " voir aussi http://snk.tuxfamily.org/log/vim-256color-bce.html
    set t_ut=
endif

17voto

Andrew Points 2852

Ajout d'une solution alternative, car j'ai moi-même rencontré ce problème et je viens juste de le résoudre. J'avais la bonne valeur TERM, le fichier terminfo était là, etc., mais l'arrière-plan ne se dessinait toujours que derrière les cellules contenant des caractères imprimables, ou les cellules à leur gauche.

Si vous passez souvent de vim en mode GUI à vim en mode CLI, vous avez peut-être mis quelque chose comme ceci dans votre fichier .vimrc à un moment donné :

if !has("gui_running")
    set term=xterm
endif

(Ou vraiment toute modification de la variable TERM dans le fichier .vimrc)

Changez la substitution de terminal en screen-256color.

...
set term=screen-256color
...

8voto

jasonwryan Points 1843

Cela ressemble à un problème avec vos paramètres de terme ou votre terminfo.

Assurez-vous que votre terme dans tmux est TERM=screen-256color et que votre boîte Solaris a le terminfo correct.

0voto

ninrod Points 273

Ce bug est corrigé dans vim 7.4 patch 7.4.1942

Problème pertinent : 804

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X