我正在尝试设置Emacs(我通过安装brew install emacs --cocoa
),我可以通过以下方式使用它:
emacsclient file.txt
如果没有,则创建一个新的GUI框架
emacsclient file2.txt
如果存在,则替换现有帧的内容
emacsclient
应该总是立即返回,而不是阻止它被调用的shell
在任何给定的时间点,基本上应该有一个Emacs窗口和一个emacs --daemon
进程
正如我所说,我通过自制软件安装了Emacs.要在我登录时启动守护程序,我添加~/Library/LaunchAgents/org.gnu.emacs.plist
了以下内容:
Label org.gnu.emacs ProgramArguments /usr/local/Cellar/emacs/HEAD/bin/emacs --daemon RunAtLoad
我确认这开始了这个过程.到目前为止,我尝试了各种变体来调用emacsclient:
/usr/local/Cellar/emacs/HEAD/bin/emacsclient file.txt
这会在我的终端中打开emacs
/usr/local/Cellar/emacs/HEAD/bin/emacsclient -c file.txt
这打开了一个新的Emacs GUI框架(好!)但它不知道具有相同的字体大小/字体设置.此外,当我关闭该帧并使用emacsclient -c
Emacs进程打开另一个文件似乎崩溃.
/usr/local/Cellar/emacs/HEAD/bin/emacsclient -n file.txt
刚出门
我不确定我应该做什么.我已经找到了很多这方面的教程,但很多人不清楚目标是让守护进程只是为emacs的终端使用而工作.
我非常想知道如何在OS X上使用Emacs,尤其是如何设置Emacs守护程序以及如何使用GUI变体.
因为经常这样,我在写这篇文章时找到了解决方案.将以下内容放入我init.el
允许我在现有GUI框架中打开文件.
(require 'server) (unless (server-running-p) (server-start))
我认为这是有效的,因为服务器进程绑定到Emacs的GUI实例,但我仍然非常开放给别人启发我.