No vim, a cor do plano de fundo muda na rolagem

15

Ocasionalmente, recebo um erro estranho com a cor de fundo no vim ao rolar para cima em um arquivo longo. O plano de fundo sobre o texto está correto, mas em todos os lugares não há caracteres imprimíveis, o plano de fundo fica preto.

Depois de caçar e experimentar, descobri que: redesenhar! corrige o problema, mas gostaria de saber por que isso ocorre e se há algo que eu possa fazer para corrigir permanentemente o problema.

Embora tenha ocorrido esse erro com outros esquemas de cores, pelo que vale a pena, estou usando o esquema de cores lucius com o vim 7.3 editando vários arquivos python.

jlund3
fonte
Joguei um pouco mais e parece que só acontece quando minha geometria terminal está definida com uma altura maior que 30 ou mais. Vou ter que fazer mais testes para ver se isso se mantém, mas talvez essa informação vai ajudar alguém descobrir o que está errado ...
jlund3
Aqui está um exemplo de captura de tela desse comportamento. Eu rolei para cima e, em vez do lindo fundo acinzentado, há algumas coisas feias em preto. Captura de tela
jlund3 6/08/12
Você já tentou vários emuladores de terminal diferentes (como xterm, gnome-terminal, etc.)?
Amcnabb
Consegui reproduzir o comportamento no terminal lnterminal e no terminal gnomo.
Jlund3
Tenho exatamente o mesmo problema. O meu começou a acontecer quando eu me mudei coisas para ftplugin / <filetype> ...
RedX

Respostas:

24

Conforme explicado aqui e aqui , você pode corrigir isso desativando Background Color Erase. Mudança no seu .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

Você também pode digitar Ctrl+ Lpara redefinir a tela.

brice
fonte
0

Pode ser um plug-in ou configuração relacionada, talvez tente

vim -u NENHUM

carregar o vim sem o vimrc e sem plugins e veja se o problema persiste.

Quanto à configuração, acho que você provavelmente deveria olhar lazyredraw e ttyfast.

Você pode ler a documentação digitando (: help lazyredraw) e descobrir se você a definiu sem saber (: set lazyredraw?) E provavelmente a desmarcou (: set nolazyredraw).

E isso pode ajudar se você definir ttyfast (: help ttyfast).

carlosdc
fonte
Tentei tanto nolazyredraw quanto ttyfast, mas o comportamento permanece o mesmo.
Jlund3
@ jlund3 Eu editei minha resposta um pouco.
Carlosdc
Com -u NENHUM, não há cores para que isso aconteça. No entanto, com apenas o comando: colorscheme Lúcio ainda acontece ...
jlund3