Bash 在使用GNU屏幕时,如何避免在关闭后emacs(或vi)留在屏幕上?
在常规bash会话中,如果我键入Bash 在使用GNU屏幕时,如何避免在关闭后emacs(或vi)留在屏幕上?,bash,unix,terminal,gnu-screen,Bash,Unix,Terminal,Gnu Screen,在常规bash会话中,如果我键入vi,或emacs-nw,然后退出或挂起它们,我将毫发无损地返回shell(之前键入的两个命令仍然可见)。外壳完好无损,好像我从未启动过emacs或vi。然而,当使用GNU Screen时,退出后,我仍然会看到vi/emacs与我正在做的任何事情,迫使我使用Screen scroll或history来回忆启动emacs/vi之前运行的最后一个命令。我如何关闭这种混乱行为?可能吗?您需要打开对备用屏幕的支持 您可以通过在.screenrc中添加以下行来完成此操作:
vi
,或emacs-nw
,然后退出或挂起它们,我将毫发无损地返回shell(之前键入的两个命令仍然可见)。外壳完好无损,好像我从未启动过emacs
或vi
。然而,当使用GNU Screen
时,退出后,我仍然会看到vi/emacs与我正在做的任何事情,迫使我使用Screen scroll或history来回忆启动emacs/vi之前运行的最后一个命令。我如何关闭这种混乱行为?可能吗?您需要打开对备用屏幕的支持
您可以通过在.screenrc
中添加以下行来完成此操作:
altscreen on
来源:之所以不受影响,是因为vi/emacs使用终端的备用屏幕来显示诅咒(该库允许用户在终端屏幕上的任意位置放置字符)。屏幕(1)程序已经在使用备用终端屏幕,默认情况下,不会为其内部运行的程序创建备用屏幕,以便通过诅咒访问 但是,您可以通过以下方式在屏幕中启用它:
altscreen on
在~/.screenrc文件中
有关更多信息,请参阅屏幕手册页