При использовании vim или less на экране gnu выход из vim или less оставляет запечатленный отпечаток - PullRequest
12 голосов
/ 02 февраля 2010

В моей новой системе Ubuntu я запускаю сеанс экрана и редактирую файл в vim или просматриваю его меньше. После того, как я вышел, экран не перерисовывается, а просто прокручивается вверх, чтобы показать командную строку под всем, что я только что просматривал в vim или менее.

Как я могу изменить это так, что выход из vim вернет меня к экрану, как это было до того, как я вызвал vim?

Ответы [ 2 ]

26 голосов
/ 02 февраля 2010

Экран altscreen (альтернативный экран) по умолчанию отключен.

Добавьте это к вашему .screenrc:

altscreen on

См .: http://www.gnu.org/software/screen/manual/screen.html#Redisplay

3 голосов
/ 02 февраля 2010

Это вызвано тем, что ваш termcap для экрана не завершен. (Похоже, это действительно распространенная проблема.) Vim не знает последовательности восстановления экрана, поэтому просто оставляет все как есть.

Вы можете обойти эту проблему, установив параметр термина vim (или переменную среды TERM перед запуском vim) для терминала, который «совместим с экраном», например, xterm. например:

TERM=xterm vim

или (в vim):

:set term=xterm

Вы можете установить опции t_ti и t_te в vim для правильных кодов. Смотрите :help xterm-screens в vim для более подробной информации.

...