En vim, el color de fondo cambia al desplazarse


16

Ocasionalmente obtengo un error extraño con el color de fondo en vim cuando me desplazo hacia arriba en un archivo largo. El fondo sobre el texto es correcto, pero en todas partes no hay caracteres imprimibles, el fondo se vuelve negro.

Después de un poco de caza y experimentación, descubrí que: ¡redibujar! soluciona el problema, pero me gustaría saber por qué ocurre esto y si hay algo que pueda hacer para solucionarlo permanentemente.

Aunque he recibido este error con otros esquemas de color, para lo que vale, estoy usando el esquema de color lucius con vim 7.3 editando un montón de archivos python.


He jugado un poco más, y parece suceder solo cuando tengo la geometría de mi terminal configurada con una altura mayor que 30. Tendré que hacer más pruebas para ver si esto funciona, pero tal vez esa información ayudará a alguien a descubrir qué está mal ...
jlund3

Aquí hay una captura de pantalla de ejemplo de este comportamiento. Me desplacé hacia arriba y en lugar del hermoso fondo grisáceo, hay algunas cosas negras feas. captura de pantalla
jlund3

¿Has probado varios emuladores de terminal diferentes (como xterm, gnome-terminal, etc.)?
amcnabb

He logrado reproducir el comportamiento tanto en lxterminal como en gnome-terminal.
jlund3

Tengo exactamente el mismo problema. El mío comenzó a suceder cuando moví cosas a ftplugin / <filetype> ...
RedX

Respuestas:


25

Como se explica aquí y aquí , puede solucionar esto apagándolo Background Color Erase. Cambio en tu .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

También puede escribir Ctrl+ Lpara restablecer la pantalla.


0

Esto puede estar relacionado con un complemento o configuración, quizás intente

vim -u NINGUNO

cargar vim sin vimrc y sin complementos y ver si el problema persiste.

En cuanto a la configuración, creo que probablemente deberías mirar lazyredraw y ttyfast.

Puede leer la documentación escribiendo (: help lazyredraw) y averiguar si la ha configurado sin saberlo (: set lazyredraw?) Y probablemente desarmarla (: set nolazyredraw).

Y puede ayudar si configura ttyfast (: help ttyfast).


Intenté nolazyredraw y ttyfast, pero el comportamiento sigue siendo el mismo.
jlund3

@ jlund3 He editado mi respuesta un poco.
carlosdc

Con -u NINGUNO no hay colores para que esto suceda. Sin embargo, con solo el comando: colorscheme lucius todavía sucede ...
jlund3
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.