How to make vi redraw screen?

Viewed 64831

When I use

git commit --amend

It will enter into a vi window to let me input comments for commit, the problem is the vi windows will show some dirty characters from former shell background. So I wonder how can I let vi to reload or redraw the screen to make the screen normal.

So far, I try reset terminal and Ctrl+L, it works, but I wonder is there best answer for such situation?

3 Answers

To force a screen refresh

:redraw!

If your terminal supports it, ctrl+L is a common shortcut for this.

In Vi both of these are redraw:

  • ^R ( does not work with VT100 type terminals )
  • ^L ( does not work with Televideo terminals )

From http://www.cs.rit.edu/~cslab/vi.html#A1.4 (dead link; see archive)

As noted in the comments Vim now uses ^R for redo and ^L alone for redraw.

Related