我正在使用 Ubuntu Linux 机器,正在寻找一种方法让 xterm 在清除内容时滚动,而不是清除屏幕并显示以前的内容。
这可能没有意义,所以举几个例子可能更有意义。当我在 xterm 中运行 vim 并按下 ctrl-Z 时,它会清除屏幕并显示我用来运行命令的命令提示符。相反,我希望仍然能够看到我正在编辑的内容。或者,当阅读手册页时,我找到了我要查找的部分,因此我按下 q 退出,屏幕清除并显示我用来启动该命令的命令,但我从手册页中想要的信息消失了。
我发现将 TERM 环境变量设置为 vt100 可以实现我想要的回滚,但这样做有缺点,例如禁用查看 TERM 的编辑器中的颜色和按键操作。例如,在 vim 中颜色不起作用,Page Down 键不再翻页。
有没有办法可以同时获得回滚和 TERM=xterm 的功能?
答案1
此命令将对稍后启动的任何 XTerms 启用效果:
echo XTerm*VT100.TiteInhibit: True|xrdb -merge
从xterm(1):
抑制(班级抑制)
指定 xterm 是否应从 TERMCAP 字符串中删除 ti 和 te termcap 条目(用于在许多面向屏幕的程序启动时在备用屏幕之间切换)。如果设置,xterm 还会忽略转义序列以切换到备用屏幕。Xterm 以不同的方式支持 terminfo,支持复合控制序列(也称为私有模式)1047、1048 和 1049,它们具有与原始 47 控制序列相同的效果。此资源的默认值为“false”。
如果您希望效果持久,请将此行放入XTerm*VT100.TiteInhibit: True
您的文件中。~/.Xresources
答案2
less
如果您使用(如果您使用的是 的分页程序) ,您可以做的一件事man
就是在文件中设置LESS=X
(以及您拥有的其他任何默认值)~/.bashrc
。这将导致less
退出时保留屏幕上显示的内容。