众所周知,emacs 可以用作终端仿真器(当它本身在终端仿真器中运行时),因此使其成为更传统的终端在终端方法的有效替代方案,例如tmux
or screen
。然而,有一件事情可以用后者轻松完成,term
到目前为止,我在 emacs 中没有找到替代品。
两者都tmux
可以screen
从终端分离,并且在其窗口中运行的所有任务继续在后台运行。默认情况下使用Cb, d intmux
和Ca, d inscreen
完成。tmux attach
稍后,我可以通过运行类似or的东西返回(重新连接)到我已分离的终端screen -r
。此外,在这两个终端多路复用器中运行的会话是持久的——即,如果我连接到某个远程终端并且连接失败,我可以重新连接并重新连接到终端而不会丢失我的任何工作——这在网络故障的情况下真的很有帮助偶尔会中断 ssh 连接的链接。
是否有类似的东西可用于 emacs?基本上,我希望能够:
- 从 emacs 中分离并让它在后台运行,所有子进程都在
term
缓冲区中运行。 - 稍后重新连接它,发现我所有的进程都在运行。
- 收到 SIGHUP 后自动从终端分离 emacs。