我正在开发一个Ubuntu Linux机器,我正在寻找一种方法来让xterm在事务清除时滚动,而不是清除屏幕并显示以前的内容。
这可能没有意义,所以有几个例子可能。 当我在xterm中运行vim并按下ctrl-Z时,它将擦除屏幕并显示我用来运行命令的命令提示符。 相反,我想仍然能够看到我正在编辑的内容。 或者当阅读手册页时,我发现我正在寻找的部分,所以我打q退出,屏幕清除,并显示我用来启动的命令,但我想从手册页的信息已经消失。
我发现将TERM环境variables设置为vt100可以获得我想要的回滚,但是这样做有一些缺点,比如在编辑器中查看TERM时禁用颜色和关键操作。 例如在vim中,颜色不起作用,而Page Down键不再是页面。
有没有一种方法来获得TERM = xterm的回滚和function?
这个命令将打开以后启动的任何XTerms的效果:
echo XTerm*VT100.TiteInhibit: True|xrdb -merge
从xterm(1) :
titeInhibit (类TiteInhibit )
指定xterm是否应从TERMCAPstring中删除ti和te termcap条目(用于在许多面向屏幕的程序启动时在替代屏幕之间切换)。 如果设置,xterm也会忽略转义序列切换到备用屏幕。 Xterm以不同的方式支持terminfo,支持具有与原始47控制序列相同的效果的复合控制序列(也称为专用模式)1047,1048和1049。 此资源的默认值是“false”。
如果你希望这个效果是永久的,那么把XTerm*VT100.TiteInhibit: True放在你的~/.Xresources XTerm*VT100.TiteInhibit: True文件中。
你可以做的一件事情是,如果你使用less (也可以是你使用的寻呼机),那就是在你的~/.bashrc文件中设置LESS=X (加上其他缺省值)。 这将导致您退出时屏幕上显示的内容会less 。