如何在不打开新文件的情况下使emacsclient只打开现有emacs守护程序的窗口

时间:2010-07-13 13:52:46

标签: emacs emacsclient

我使用emacs守护进程来保存我的emacs会话,即使我必须重新启动运行我的X服务器的机器,或者如果我想从另一台机器访问同一会话。这非常有效但是在恢复会话时我非常希望只运行“emacsclient --create-frame --no-wait”来连接守护进程而无需打开新文件。如果没有指定文件名,我就不会离开。

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

(Emacs 23.1通过Debian GNU / Linux 5.0上的backports。)

4 个答案:

答案 0 :(得分:13)

在emacsclient提供的帮助中,您有几个选择。首先,已经提到的是emacsclient -c。这将尝试创建与emacs守护程序关联的框架。这样做的好处是,如果没有设置DISPLAY,那么它将在终端中打开emacs。

这为我们带来了下一个最佳选择(特别是如果您远程登录):emacsclient -t即使设置了DISPLAY,也会强制emacs在终端模式下打开。

另请注意,您也可以从命令行设置显示。我经常在从VNC远程登录时使用它。完整命令为emacsclient -d DISPLAY -c

答案 1 :(得分:6)

emacsclient -c适合我。

答案 2 :(得分:3)

emacsclient -n -e "(make-frame)"

-n标志表示emacsclient不等待,而emacs实例不会销毁该帧。

答案 3 :(得分:3)

如果您从命令行使用emacs,您可能还需要考虑emacsclient -t