Vim не восстанавливает содержимое экрана в Debian?

4

Я всегда думал, что Vim восстановил предыдущее содержимое экрана после закрытия. Это позволяет мне помнить, какие команды я набирал ранее и что я хотел делать дальше.

Недавно я использовал Debian 6 и Ubuntu (только CLI) в виртуальной машине для проекта разработки, и я был чрезвычайно раздражен работой Vim. После того, как я закрою файл, его содержимое останется на экране, заставляя меня задуматься о том, по-прежнему ли я в Vim или нет, и вынужден использовать историю, чтобы узнать, что я набрал ранее.

Я не смог найти никакого решения. Например, использование tput smcup и rmcup абсолютно ничего не делает.

пинг пинг
источник

Ответы:

2

Отредактируйте ваш .screenrcфайл и добавьте команду " altscreen on".

Ссылка из руководства :

— Command: altscreen state

    (none)
    If set to on, "alternate screen" support is enabled in virtual 
    terminals, just like in xterm. Initial setting is ‘off’. 
Аластер Ирвин
источник
0

Попробуйте включить альтернативный экран на вашем эмуляторе терминала. В xterm, Ctrl+ Middle Clickдаст вам меню, а затем выберите «Включить Alternate переключения меню».
Если это работает, вы можете отредактировать ваш, .Xresourcesчтобы содержать: xterm*titeInhibit: falseи затем введите $ xrdb -merge < ~/.Xresource. Я не проверял этот конфиг, хотя.

donothingsuccessfully
источник
Нет, нет X, нет Xterm. : \
peu ping
@peuping Извините, я должен был понять. Кажется, что виртуальная консоль не поддерживает альтернативный экран (я не могу найти официальную ссылку). Вы можете попробовать GNU screenили tmuxтерминальные мультиплексоры. Например, во время сеанса экрана вы можете попробовать $ screen vimзапустить сеанс vim в новом псевдо-терминале и оставить вашу командную строку без изменений.
удачно сделана
0

Под VIM помощь по восстановлению экрана :

                        'restorescreen' 'rs' 'norestorescreen' 'nors'
'restorescreen' 'rs'    boolean (default on)
                        global
                        {not in Vi}  {only in Windows 95/NT console version}
        When set, the screen contents is restored when exiting Vim.  This also
        happens when executing external commands.

        For non-Windows Vim: You can set or reset the 't_ti' and 't_te'
        options in your .vimrc.  To disable restoring:
                set t_ti= t_te=
        To enable restoring (for an xterm):
                set t_ti=^[7^[[r^[[?47h t_te=^[[?47l^[8
        (Where ^[ is an <Esc>, type CTRL-V <Esc> to insert it)

Вы можете иметь

set norestorescreen

-или же-

set restorescreen!

в вашем .vimrc где-то. (или один из ваших дополнительных сценариев). По умолчанию восстанавливается содержимое предыдущего экрана.

Не забудьте искать короткие версии ( nors / rs! ), Если вы не можете найти полное имя опции.

lornix
источник