Jak zrobić vi redraw screen?

111

Kiedy używam

git commit --amend

Wchodzi do okna vi, aby umożliwić mi wprowadzenie komentarzy do zatwierdzenia, problem polega na tym, że okna vi będą wyświetlać brudne znaki z poprzedniego tła powłoki. Zastanawiam się więc, jak mogę pozwolić vi na przeładowanie lub odświeżenie ekranu, aby ekran był normalny.

Na razie próbuję zresetować terminal i Ctrl + L, działa, ale zastanawiam się, czy jest najlepsza odpowiedź na taką sytuację?

Sam Liao
źródło

Odpowiedzi:

216

Używam ctrl+ Ldo takich celów już 35 lat, co w tym złego?

Alex Martelli
źródło
2
control + L wydaje się nie działać dla mnie; Muszę najpierw zresetować terminal. nie wiem dlaczego ....
Sam Liao
7
Czy twoje ustawienie .vimrc było „terminem”? Być może źle go ustawiał.
Laurence Gonsalves
6
@AlexMartelli: ctrl + L nie działa na Putty. !redrawjest bardziej wszechstronny.
gsbabil
10
ctrl + l nie działa dla mnie, wydaje się, że zależy to od twojego terminala. także: redraw! wydaje się, że rozwiązanie działa dla każdego.
DebugXYZ
2
Dla tych, którzy powyżej wspominają o niedziałającym <CL>, myślę, że mogłeś zmapować powiązanie klucza na coś innego. W takim razie po prostu użyj:redraw!
huangzonghao
292

Aby wymusić odświeżenie ekranu

:redraw!
HS.
źródło
4

W Vi oba są przerysowane:

  • ^ R (nie działa z zaciskami typu VT100)
  • ^ L (nie działa z terminalami Televideo)

Z http://www.cs.rit.edu/~cslab/vi.html#A1.4 (martwy link; zobacz archiwum )

Jak zauważono w komentarzach, Vim używa teraz ^ R do ponownego wykonania i ^ L samego do przerysowania.

Tim Sylvester
źródło
7
Czy ^ R nie powtórzy? ^ L działa dla mnie do przerysowywania ekranu.
Geremia
@Geremia Najwyraźniej w zależności od typu terminala, ^ L jest prawdopodobnie zdecydowanie bardziej powszechne.
Tim Sylvester,
2
W vimie ^ R jest zawsze powtarzane.
Wszyscy jesteśmy Monica,