在我的新 Ubuntu 系统上,我启动一个屏幕会话并在 vim 中编辑一个文件或在 less 中查看它。退出后,屏幕不会自行重绘,而是向上滚动以在我刚刚在 vim 或更少查看的所有内容下显示命令行。
如何更改此设置,以便退出 vim 将我返回到我调用 vim 之前的屏幕?
在我的新 Ubuntu 系统上,我启动一个屏幕会话并在 vim 中编辑一个文件或在 less 中查看它。退出后,屏幕不会自行重绘,而是向上滚动以在我刚刚在 vim 或更少查看的所有内容下显示命令行。
如何更改此设置,以便退出 vim 将我返回到我调用 vim 之前的屏幕?
默认情况下,屏幕的altscreen(替代屏幕)功能处于关闭状态。
将此添加到您的.screenrc:
altscreen on
见:http ://www.gnu.org/software/screen/manual/screen.html#Redisplay
这是由于您的 termcap for screen 不完整造成的。(这似乎是一个非常普遍的问题。) Vim 不知道恢复屏幕的顺序,所以它只是让它保持原样。
您可以通过将 vim 的 term 选项(或启动 vim 之前的 TERM 环境变量)设置为“屏幕兼容”的终端来解决此问题,例如 xterm。例如:
TERM=xterm vim
或(在 vim 中):
:set term=xterm
您可以将vim 中的t_ti和选项设置为正确的代码。t_te有关更多详细信息,请参见:help xterm-screensvim。