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?

Respostas:


216

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


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!

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.