For how to automatically evaluate certain lisp code every time starting an emacsclient, click here.
我的问题不同了。我想编写一个脚本来打开一个新的emacs框架(重点关注它)(一种方法是运行emacsclient -c
)然后在该框架中运行以下elisp代码。
(org-remember)
我试过
emacsclient -c & emacsclient -eval '(org-remember)'
但有时它只是打开一个没有聚焦的新框架,然后运行elisp代码,有时,它会打开一个新框架聚焦但在旧框架中运行elisp代码。
有些知道org-remember的人可能会问我为什么不这样做:
emacsclient -eval '(org-remember)'
但这并没有把重点放在旧框架上。
答案 0 :(得分:4)
我的 emacsclient 版本不支持-c
参数,尽管the documentation advertising it。
我不确定是否有更简洁的方法可以执行此操作,但您可以尝试使用make-frame
和select-frame
,如下所示:
emacsclient -e '(select-frame (make-frame))' '(org-remember)'
这将创建一个新框架,如果您的窗口管理器没有自动选择它,请将其授予焦点,然后使用具有焦点的新框架执行第二个命令。
答案 1 :(得分:3)
如何将您已尝试过的两个命令行合并为一个:
emacsclient -c -e '(org-remember)'
适用于Emacs 23.1。