Comment faire pour redessiner l'écran de vi?

111

Quand j'utilise

git commit --amend

Il entrera dans une fenêtre vi pour me laisser entrer des commentaires pour la validation, le problème est que les fenêtres vi afficheront des caractères sales de l'ancien arrière-plan du shell. Je me demande donc comment puis-je laisser vi recharger ou redessiner l'écran pour rendre l'écran normal.

Jusqu'à présent, j'essaye de réinitialiser le terminal et Ctrl + L, cela fonctionne, mais je me demande s'il y a la meilleure réponse pour une telle situation?

Sam Liao
la source

Réponses:

216

J'utilise ctrl+ Là de telles fins depuis 35 ans maintenant, qu'est-ce qui ne va pas?

Alex Martelli
la source
2
control + L semble ne pas fonctionner pour moi; Je dois d'abord réinitialiser le terminal. je ne sais pas pourquoi ....
Sam Liao
7
Votre paramètre .vimrc était-il "term"? Peut-être était-ce mal réglé.
Laurence Gonsalves
6
@AlexMartelli: ctrl + L ne semble pas fonctionner sur Putty. !redrawest plus polyvalent.
gsbabil
10
ctrl + l ne fonctionne pas pour moi, cela semble dépendre de votre terminal. aussi: redessiner! semble être la solution qui fonctionne pour tout le monde.
DebugXYZ
2
Pour ceux qui mentionnent ci-dessus que <CL> ne fonctionne pas, je pense que vous avez peut-être mappé la liaison de clé à autre chose. Dans ce cas, utilisez simplement:redraw!
huangzonghao
292

Pour forcer une actualisation de l'écran

:redraw!
HS.
la source
4

Dans Vi, les deux sont redessinés:

  • ^ R (ne fonctionne pas avec les terminaux de type VT100)
  • ^ L (ne fonctionne pas avec les terminaux Televideo)

De http://www.cs.rit.edu/~cslab/vi.html#A1.4 (lien mort; voir archive )

Comme indiqué dans les commentaires, Vim utilise désormais ^ R pour le redo et ^ L seul pour le redraw.

Tim Sylvester
la source
7
^ R n'est-il pas refait? ^ L travaille pour moi pour redessiner l'écran.
Geremia
@Geremia Dépend apparemment du type de terminal, ^ L est probablement de loin plus courant.
Tim Sylvester
2
Dans vim, ^ R est toujours refait.
We Are All Monica