我一直以为 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
尝试启用备用屏幕在您的终端仿真器上。在 中xterm
,Ctrl+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 的某个地方。(或者你的附加脚本之一)。默认是恢复前一个屏幕的内容。
记得寻找简短版本(诺斯/嗯!) 如果您找不到完整的选项名称。