相关疑难解决方法(0)

如何在守护进程模式下运行 Mac OSX 图形 Emacs?

简短形式:我想运行在http://emacsformacosx.com/ 上找到的 Mac OSX 版本的 Emacs 作为守护程序,图形和文本客户端根据需要连接到它。

详细来说,这是我想要的工作流程:

  1. 登录时,运行/Applications/Emacs.app/Contents/MacOS/Emacs --daemon以将 emacs 作为守护程序启动。 我已经知道如何做到这一点

  2. 从本地终端运行 emacs 时,我想要以下任一项:

    1. 如果我emacs从本地命令提示符运行,请使用所选文件打开一个新框架。
    2. 如果 #1 不可能,至少如果我从命令行运行emacsclient,请使用所选文件打开一个新框架。
  3. 从远程终端运行 emacs 时,我希望启动文本模式的 emacs,并连接到守护进程。

  4. 如果我运行,请Emacs.app重新使用在后台运行的 emacs 守护程序,而不是启动一个新实例并在其上打开一个新窗口。

到目前为止,我只能完成上面的 #1 和 #2.2,但这些都是简单的部分。#3 和 #4 是使这项工作最需要的东西。有谁知道如何完成这些事情?

emacs macos

25
推荐指数
1
解决办法
1万
查看次数

使用“open -a”打开时,Emacs 在新框架中打开文件

我希望能够从命令行调用 Emacs,如果它没有运行,则启动图形 Emacs,或者访问已经运行的 Emacs 中的文件。我尝试这样做emacsclient,我知道这是执行此操作的“正确”方法,但是我在 OS X 上遇到了很多问题,它会随机崩溃,或者emacs --daemon在关闭或重新启动机器时进程会挂起,和一般的片状。虽然我想让它工作,但目前open -a实际上工作得更好,除了我将在下面描述的这个问题:

open -a像这样使用:

$ open -a Emacs file.txt
Run Code Online (Sandbox Code Playgroud)

如果 Emacs 未运行,它将启动 Emacs,并访问该文件。但是,如果在当前缓冲区不是*scratch*文件时执行此操作,则会在新框架(即新系统窗口)中打开文件。

这是一个示例会话:

$ open -a Emacs file.txt
Run Code Online (Sandbox Code Playgroud)

这将启动 Emacs 并打开 file.txt,因此其中有一个包含此缓冲区的帧。如果我切换到*scratch*缓冲区,并执行以下操作:

$ open -a Emacs file1.txt
Run Code Online (Sandbox Code Playgroud)

它在同一帧中打开此文件。现在有一个打开这个文件的框架,如果我这样做:

$ open -a Emacs file2.txt 
Run Code Online (Sandbox Code Playgroud)

它打开一个新框架,导致同时打开两个框架。

我试过使用--argsswitch摆弄 Emacs 的命令行参数 to open,但这似乎不适用于后续调用,例如:

$ open -a Emacs --args --eval='(print "foo")'
$ open -a Emacs --args --eval='(print "bar")'
Run Code Online (Sandbox Code Playgroud)

这只会在消息缓冲区中打印“foo”……第二次 Emacs 刚刚被带到前台,但没有打印任何消息。

我不确定如何 …

mac emacs macos

21
推荐指数
1
解决办法
8252
查看次数

如何从 Mac 的 Finder 打开 emacs?

在我的 Mac 上,我希望能够右键单击一个文件,然后选择“打开方式……”emacs。

我怎样才能做到这一点?(在我的 Mac 上,我在 /usr/bin 中有 emacs)

mac emacs macos

5
推荐指数
2
解决办法
1898
查看次数

标签 统计

emacs ×3

macos ×3

mac ×2