使用 GNU 屏幕时如何避免关闭后 emacs(或 vi)留在屏幕上?

Pal*_*han 4 unix bash terminal gnu-screen

在常规的 bash 会话中,如果我输入viemacs -nw然后退出或挂起它们,我会毫发无损地返回到我的外壳(我输入的前几个命令仍然可见)。外壳完好无损,就好像我从未启动过emacsvi. GNU Screen然而,当使用时,退出后我仍然看到 vi/emacs 和我正在做的任何事情,迫使我使用屏幕滚动或历史记录来回忆我在启动 emacs/vi 之前运行的最后一个命令。如何关闭这种混乱的行为?是否可以?

Arj*_*kar 5

您需要打开对备用屏幕的支持。

您可以通过将以下行添加到您的.screenrc:

altscreen on
Run Code Online (Sandbox Code Playgroud)

来源:http : //aperiodic.net/screen/commands : altscreen


Ale*_*eys 5

毫发无损的方面是因为 vi/emacs 正在使用终端的备用屏幕进行诅咒(该库让他们将字符放在终端屏幕上的任意位置)。screen(1) 程序已经在使用备用终端屏幕,并且默认情况下不会为在其中运行的程序创建自己的备用屏幕以通过curses 访问。

但是,您可以在屏幕中启用它:

   altscreen on
Run Code Online (Sandbox Code Playgroud)

在你的 ~/.screenrc 文件中。

有关更多信息,请参阅屏幕联机帮助页。