如何为emacsclient提供命令行选项?

Pau*_*gar 9 emacs

我使用以下命令启动emacsclient:

emacsclient -a "" -c
Run Code Online (Sandbox Code Playgroud)

这将打开一个连接到emacs守护程序的框架,并在守护程序尚未启动时启动该守护程序.太好了,这很好用.

但是,我喜欢打开我的emacs框架最大化.使用emacs,我会使用-mm.但是,这不适用于emacsclient.我该如何工作?

(似乎我可以通过添加类似的shell文件来创建一些工作:emacsclient -a "myshell.sh" -c,shell文件是:emacs -mm,但我无法使其工作 - 服务器不会熬夜.)

小智 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))
Run Code Online (Sandbox Code Playgroud)

Emacs客户端接受-F选项,您可以在其中指定帧参数,因此上面的示例将是:

emacsclient -c -a "" -F "((fullscreen . maximized))"
Run Code Online (Sandbox Code Playgroud)


Luk*_*vin 2

emacsclient 提供--eval-e简称)命令行选项来执行任意 Emacs Lisp 代码,因此您可以访问文件并从命令行调用,suspend-frame如下所示:

emacsclient -a "" -c --eval "(progn (find-file \"/tmp/my-file\") (suspend-frame))"
Run Code Online (Sandbox Code Playgroud)

您可以将其放入脚本中,例如:

#!/bin/bash
emacsclient -a "" -c --eval "(progn (find-file \"$1\") (suspend-frame))"
Run Code Online (Sandbox Code Playgroud)