Як зробити екран перемальовування vi?


111

Коли я користуюся

git commit --amend

Він увійде у вікно vi, щоб дозволити мені вводити коментарі для фіксації, проблема полягає в тому, що vi windows покаже деякі брудні символи з колишнього фону оболонки. Тож мені цікаво, як я можу дозволити vi перезавантажувати або перемальовувати екран, щоб зробити екран нормальним.

Поки я намагаюся скинути термінал і Ctrl + L, він працює, але мені цікаво, чи є найкраща відповідь для такої ситуації?

Відповіді:


215

Я вже 35 років використовую ctrl+ Lдля таких цілей, що з цим погано?


2
контроль + L, здається, не працює для мене; Я повинен спершу скинути термінал. не знаю чому ....
Сем Ляо

7
Чи був ваш .vimrc встановленням 'термін'? Можливо, це було встановлено неправильно.
Лоранс Гонсалвс

6
@AlexMartelli: Ctrl + L не працює над Putty. !redrawє більш універсальним.
gsbabil

10
ctrl + l не працює для мене, це здається залежним від вашого терміналу. також: перемалюй! здається, що працює для кожного рішення.
DebugXYZ

2
Для тих, хто згадує <CL>, що не працює, я думаю, що ви могли відобразити прив'язку ключа до чогось іншого. У такому випадку просто використовуйте:redraw!
huangzonghao


4

У Vi обидва перемальовуються:

  • ^ R (не працює з терміналами типу VT100)
  • ^ L (не працює з терміналами Televideo)

Від http://www.cs.rit.edu/~cslab/vi.html#A1.4 (мертве посилання; див. Архів )

Як зазначається в коментарях, зараз Vim використовує ^ R для повтору і ^ L поодинці для перемальовування.


7
Чи не ^ R повторно? ^ L працює для мене, щоб перемалювати екран.
Геремія

@ Геремія Залежно від типу терміналу, мабуть, ^ L, мабуть, більш поширений на сьогоднішній день.
Тім Сильвестр

2
У vim ^ R завжди повторюється.
Ми всі Моніка
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.