Vim 无法恢复 Debian 上的屏幕内容?

Vim 无法恢复 Debian 上的屏幕内容?

我一直以为 Vim 在关闭时会恢复屏幕的先前内容。这样我就能记住我之前输入的命令以及接下来要做什么。

最近,我在虚拟机中使用 Debian 6 和 Ubuntu(仅限 CLI)进行开发项目,我对 Vim 的运行方式非常恼火。关闭文件后,其内容仍停留在屏幕上,让我怀疑我是否仍在使用 Vim,并且必须使用历史记录来查找我之前输入的内容。

我找不到任何解决方案。例如,使用 tput smcup 和 rmcup 根本不起作用。

答案1

编辑您的.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’. 

答案2

尝试启用备用屏幕在您的终端仿真器上。在 中xtermCtrl+Middle Click将为您提供一个菜单,然后选择“启用备用菜单切换”。
如果有效,您可以编辑您的.Xresources以包含:xterm*titeInhibit: false然后输入$ xrdb -merge < ~/.Xresource。不过我还没有测试过该配置。

答案3

在 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 的某个地方。(或者你的附加脚本之一)。默认是恢复前一个屏幕的内容。

记得寻找简短版本(诺斯/嗯!) 如果您找不到完整的选项名称。

相关内容