Dans vim, la couleur d'arrière-plan change lors du défilement

16

Parfois, j'obtiens une erreur étrange avec la couleur d'arrière-plan dans vim lors du défilement vers le haut dans un long fichier. L'arrière-plan du texte est correct, mais partout où il n'y a pas de caractère imprimable, l'arrière-plan devient noir.

Après un peu de chasse et d'expérimentation, j'ai trouvé ça: redessiner! résout le problème, mais j'aimerais savoir pourquoi cela se produit et s'il y a quelque chose que je peux faire pour résoudre définitivement le problème.

Bien que cette erreur se soit produite avec d'autres schémas de couleurs, pour ce que cela vaut, j'utilise le schéma de couleurs lucius avec vim 7.3 pour éditer un tas de fichiers python.

jlund3
la source
J'ai fait un peu plus de jeu, et cela ne semble se produire que lorsque ma géométrie de terminal est définie avec une hauteur supérieure à 30 environ. Je vais devoir faire plus de tests pour voir si cela tient, mais peut-être que ces informations aideront quelqu'un à comprendre ce qui ne va pas ...
jlund3
Voici un exemple de capture d'écran de ce comportement. J'ai fait défiler vers le haut et au lieu du joli fond grisâtre, il y a de vilains trucs noirs. capture d'écran
jlund3
Avez-vous essayé plusieurs émulateurs de terminaux différents (comme xterm, gnome-terminal, etc.)?
amcnabb
J'ai réussi à reproduire le comportement à la fois lxterminal et gnome-terminal.
jlund3
J'ai exactement le même problème. Le mien a commencé à se produire lorsque j'ai déplacé des trucs vers ftplugin / <filetype> ...
RedX

Réponses:

25

Comme expliqué ici et ici , vous pouvez résoudre ce problème en le désactivant Background Color Erase. Changement dans votre .vimrc:

if &term =~ '256color'
    " Disable Background Color Erase (BCE) so that color schemes
    " work properly when Vim is used inside tmux and GNU screen.
    set t_ut=
endif

Vous pouvez également taper Ctrl+ Lpour réinitialiser l'écran.

brice
la source
0

Il peut s'agir d'un plugin ou d'une configuration, essayez peut-être

vim -u AUCUN

pour charger vim sans vimrc et sans plugins et voir si le problème persiste.

En ce qui concerne la configuration, je pense que vous devriez probablement regarder lazyredraw et ttyfast.

Vous pouvez lire la documentation en tapant (: help lazyredraw) et savoir si vous l'avez définie sans le savoir (: set lazyredraw?) Et probablement la désactiver (: set nolazyredraw).

Et cela peut aider si vous définissez ttyfast (: help ttyfast).

carlosdc
la source
J'ai essayé à la fois nolazyredraw et ttyfast, mais le comportement reste le même.
jlund3
@ jlund3 J'ai modifié un peu ma réponse.
carlosdc
Avec -u NONE, il n'y a pas de couleurs pour que cela se produise. Cependant, avec juste la commande: colorscheme lucius ça arrive toujours ...
jlund3