如何使EmacClient只打开现有emacs守护程序的窗口而不打开新文件

如何使EmacClient只打开现有emacs守护程序的窗口而不打开新文件,emacs,emacsclient,Emacs,Emacsclient,我使用emacs守护进程来保留我的emacs会话,即使我必须重新启动运行X服务器的机器,或者如果我想从不同的机器访问同一会话。这工作得很好,但在恢复会话时,我非常希望运行“EmacClient--create frame--no wait”连接到守护进程,而不打开新文件。如果不指定文件名,我就无法逃脱 我尝试使用--eval来执行函数,而不是打开文件,但是当计算完成时,窗口就会消失 (Emacs 23.1通过Debian GNU/Linux 5.0上的后端口。)EmacClient-n-e“(生

我使用emacs守护进程来保留我的emacs会话,即使我必须重新启动运行X服务器的机器,或者如果我想从不同的机器访问同一会话。这工作得很好,但在恢复会话时,我非常希望运行“EmacClient--create frame--no wait”连接到守护进程,而不打开新文件。如果不指定文件名,我就无法逃脱

我尝试使用--eval来执行函数,而不是打开文件,但是当计算完成时,窗口就会消失

(Emacs 23.1通过Debian GNU/Linux 5.0上的后端口。)

EmacClient-n-e“(生成框架)”


-n
标志意味着
EmacClient
不会等待,emacs实例不会破坏帧。

EmacClient-c
对我有效。

从EmacClient提供的帮助中,您有几个选项。首先,已经提到的是
emacsclient-c
。它将尝试创建一个与emacs守护进程关联的框架。这样做的好处是,如果未设置显示,则会在终端中打开emacs

这就给我们带来了下一个最佳选项(尤其是在远程登录时):
emacsclient-t
它强制emacs在终端模式下打开,即使设置了显示


还要记住,您也可以从命令行设置显示。我在从VNC远程登录时经常使用此选项。完整的命令将是“代码> EmacSCLITEN-D显示-C<代码/代码>

< P>如果您使用命令行中的Emacs,您可能还想考虑<代码> EmacSCLIONT-T/代码> < /P>我认为这个问题更适合感谢全面的答案,尤其是没有指出我是个无能的人!似乎我说“EmacClient--create frame--no wait”由于缺少文件名而不起作用是错误的。我一定是混合了emacs和EmacClient版本(v22版本的EmacClient似乎需要文件名,但在该版本中有意义。)嗯,对我来说也是。我确信在我之前的两次尝试中它都不起作用,但现在我无法复制它(