Como fazer o vi redesenhar a tela?

111

Quando eu uso

git commit --amend

Ele entrará em uma janela do vi para permitir que eu insira comentários para a confirmação, o problema é que a janela do vi mostrará alguns caracteres sujos do fundo do shell anterior. Então eu me pergunto como posso deixar o vi recarregar ou redesenhar a tela para torná-la normal.

Até agora, tentei reiniciar o terminal e Ctrl + L, funciona, mas gostaria de saber se há melhor resposta para tal situação?

Sam Liao
fonte

Respostas:

216

Eu uso o ctrl+ Lpara esses fins há 35 anos, o que há de errado com isso?

Alex Martelli
fonte
2
control + L parece não funcionar para mim; Tenho que reiniciar o terminal primeiro. não sei porque ....
Sam Liao
7
Sua configuração .vimrc era um 'termo'? Talvez a configuração esteja incorreta.
Laurence Gonsalves
6
@AlexMartelli: ctrl + L não parece funcionar sobre o Putty. !redrawé mais versátil.
gsbabil
10
ctrl + l não funciona para mim, parece que depende do seu terminal. também: redesenhar! parece que a solução funciona para todos.
DebugXYZ de
2
Para aqueles que mencionam que <CL> não está funcionando, acho que você pode ter mapeado a ligação de tecla para outra coisa. Nesse caso, basta usar:redraw!
huangzonghao
292

Para forçar uma atualização de tela

:redraw!
HS.
fonte
4

Em Vi, ambos são redesenhados:

  • ^ R (não funciona com terminais do tipo VT100)
  • ^ L (não funciona com terminais Televideo)

De http://www.cs.rit.edu/~cslab/vi.html#A1.4 (link morto; ver arquivo )

Conforme observado nos comentários, o Vim agora usa ^ R para refazer e ^ L sozinho para redesenhar.

Tim Sylvester
fonte
7
Não é ^ R refazer? ^ L funciona para mim redesenhar a tela.
Geremia de
@Geremia Depende aparentemente do tipo terminal, ^ L é provavelmente mais comum.
Tim Sylvester
2
No vim, ^ R é sempre refazer.
Somos Todos Monica