使用emacsclient打开文件时,在OS X上使用GUI Emacs

Mar*_*sch 7 macos emacs

我正在尝试设置Emacs(我通过安装brew install emacs --cocoa),我可以通过以下方式使用它:

  1. emacsclient file.txt 如果没有,则创建一个新的GUI框架
  2. emacsclient file2.txt 如果存在,则替换现有帧的内容
  3. emacsclient 应该总是立即返回,而不是阻止它被调用的shell
  4. 在任何给定的时间点,基本上应该有一个Emacs窗口和一个emacs --daemon进程

正如我所说,我通过自制软件安装了Emacs.要在我登录时启动守护程序,我添加~/Library/LaunchAgents/org.gnu.emacs.plist了以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>org.gnu.emacs</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/local/Cellar/emacs/HEAD/bin/emacs</string>
      <string>--daemon</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
  </dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

我确认这开始了这个过程.到目前为止,我尝试了各种变体来调用emacsclient:

  1. /usr/local/Cellar/emacs/HEAD/bin/emacsclient file.txt 这会在我的终端中打开emacs
  2. /usr/local/Cellar/emacs/HEAD/bin/emacsclient -c file.txt这打开了一个新的Emacs GUI框架(好!)但它不知道具有相同的字体大小/字体设置.此外,当我关闭该帧并使用emacsclient -cEmacs进程打开另一个文件似乎崩溃.
  3. /usr/local/Cellar/emacs/HEAD/bin/emacsclient -n file.txt 刚出门

我不确定我应该做什么.我已经找到了很多这方面的教程,但很多人不清楚目标是让守护进程只是为emacs的终端使用而工作.

我非常想知道如何在OS X上使用Emacs,尤其是如何设置Emacs守护程序以及如何使用GUI变体.

Mar*_*sch 8

因为经常这样,我在写这篇文章时找到了解决方案.将以下内容放入我init.el允许我在现有GUI框架中打开文件.

(require 'server)
(unless (server-running-p)
  (server-start))
Run Code Online (Sandbox Code Playgroud)

我认为这是有效的,因为服务器进程绑定到Emacs的GUI实例,但我仍然非常开放给别人启发我.