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ę?

Odpowiedzi:


216

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


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


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.


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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.