我使用:
启动emacsclientemacsclient -a "" -c
这将打开一个连接到emacs守护程序的框架,并启动守护程序(如果尚未启动)。太棒了,这很好用。
但是,我喜欢打开最大化的emacs框架。使用emacs,我会使用-mm。但是,这不适用于emacsclient。我如何使这项工作?
(似乎我可以通过添加如下所示的shell文件来创建一些工作:emacsclient -a "myshell.sh" -c
,其中shell文件是:emacs -mm
,但我无法完成这项工作 - 服务器不会熬夜。)
答案 0 :(得分:16)
您可以将以下行添加到.emacs,以便可以在窗口最大化的情况下启动Emacs。有关详细信息,请参阅http://www.gnu.org/software/emacs/manual/html_node/elisp/Size-Parameters.html#Size-Parameters。
(add-to-list 'default-frame-alist '(fullscreen . maximized))
Emacs客户端接受-F
选项,您可以在其中指定帧参数,因此上面的示例将是:
emacsclient -c -a "" -F "((fullscreen . maximized))"
答案 1 :(得分:3)
假设您想要全屏运行emacsclient,这就是我的情况。
man emacsclient
显示emacsclient有-F
选项:
-F, --frame-parameters=ALIST
set the parameters of a newly-created frame.
在Emacs手册中,这是一个信息文件,第(emacs) emacsclient Options
部分提供了更多信息。具体针对此问题(elisp) Size Parameters
提及fullscreen
参数。要全屏运行emacsclient,您需要提供一个alist,其中一个元素为(fullscreen . fullboth)
,如下所示:
emacsclient -c -F "((fullscreen . fullboth))"
答案 2 :(得分:2)
emacsclient提供--eval
(简称-e
)命令行选项,用于执行任意Emacs Lisp代码,因此您可以访问文件并从命令行调用suspend-frame
,如下所示:
emacsclient -a "" -c --eval "(progn (find-file \"/tmp/my-file\") (suspend-frame))"
您可以将其放在脚本中,例如:
#!/bin/bash
emacsclient -a "" -c --eval "(progn (find-file \"$1\") (suspend-frame))"