In vim, il colore di sfondo cambia durante lo scorrimento


16

Occasionalmente ricevo uno strano errore con il colore di sfondo in vim quando scorro verso l'alto in un file lungo. Lo sfondo sopra il testo è corretto, ma ovunque non ci sono caratteri stampabili lo sfondo diventa nero.

Dopo un po 'di caccia e sperimentazione, ho scoperto che: ridisegna! risolve il problema, ma vorrei sapere perché questo si verifica e se c'è qualcosa che posso fare per risolvere definitivamente il problema.

Anche se ho riscontrato questo errore con altri schemi di colori, per quello che vale uso lo schema di colori di lucius con vim 7.3 che modifica un mucchio di file Python.


Ho suonato un po 'di più e sembra che accada solo quando ho impostato la geometria del mio terminale con un'altezza maggiore di 30 o giù di lì. Dovrò fare altri test per vedere se questo vale, ma forse queste informazioni aiuteranno qualcuno a capire cosa c'è che non va ...
jlund3

Ecco uno screenshot di esempio di questo comportamento. Ho fatto scorrere verso l'alto e invece del delizioso sfondo grigiastro, ci sono alcune brutte cose nere. screenshot
jlund3

Hai provato diversi emulatori di terminale (come xterm, gnome-terminal, ecc.)?
amcnabb,

Sono riuscito a riprodurre il comportamento sia in lxterminal che in gnome-terminal.
jlund3,

Ho lo stesso identico problema. Il mio ha cominciato a succedere quando ho spostato le cose su ftplugin / <filetype> ...
RedX

Risposte:


25

Come spiegato qui e qui , è possibile risolvere questo problema disattivando Background Color Erase. Cambia nel tuo .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

Puoi anche digitare Ctrl+ Lper ripristinare lo schermo.


0

Potrebbe trattarsi di un plug-in o di una configurazione, forse provare

vim -u NESSUNO

per caricare vim senza vimrc e senza plugin e vedere se il problema persiste.

Per quanto riguarda la configurazione, penso che dovresti probabilmente guardare lazyredraw e ttyfast.

Puoi leggere la documentazione digitando (: help lazyredraw) e scoprire se l'hai inconsapevolmente impostato (: set lazyredraw?) E probabilmente annullato (: set nolazyredraw).

E può essere utile se si imposta ttyfast (: help ttyfast).


Ho provato sia nolazyredraw che ttyfast, ma il comportamento rimane lo stesso.
jlund3,

@ jlund3 Ho modificato un po 'la mia risposta.
carlosdc,

Con -u NONE non ci sono colori perché ciò accada. Tuttavia, con solo il comando: colorscheme lucius succede ancora ...
jlund3
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.