如何从Mac终端打开emacs图形界面/集成开发环境?

24

我试图在终端之外的Emacs中打开文件。 我更喜欢在编码时使用GUI / IDE环境,而不是通过终端进行操作。 起初,我以为输入emacs filename.py会通过Emacs.app打开该文件,但实际上只能让我通过终端编辑文件。 当这种方法不起作用时,我尝试编辑我的主目录中的.profile和.emacs文件,但这并没有帮助我解决问题。

也许这比我读到的更直观,但我似乎无法弄清楚这个问题。 欢迎任何帮助。


我曾认为Emacs是一个终端编辑器......但我不能在终端中使用Emacs吗? - Charlie Parker
是的,你可以在终端内使用emacs。然而,emacs也可以作为终端外的IDE使用,在我提问时,这就是我想要实现的。 - Austin A
6个回答

41
假设您已经像这样从Homebrew安装了Emacs:
brew install emacs --with-cocoa

只需在终端中输入以下命令即可打开Emacs.app:

open -a Emacs filename.py
如果你想让所有的文件在同一个框架中打开,而不是新窗口,请将以下内容添加到你的.emacs文件中:
(setq ns-pop-up-frames nil)

2
问题更新。我没有使用Homebrew安装Emacs,而是从[链接][www.emacsforosx.com]下载了它。然而,我刚刚尝试了`open -a Emacs filename.py,它起作用了。它打开了Emacs IDE窗口和一个单独的Emacs窗口中的filename.py。虽然有点挑剔,但如果我想让命令emacs filename.py`做同样的事情,我该怎么做呢?这可能就是@shosti所说的emacsclient的含义。感谢@katspaugh,@qaphla和@shosti! - Austin A
自从我采纳了katspaugh的建议,我已将其标记为已回答。 - Austin A
1
这还能用吗?当我使用 open -a Emacs filename.py 时,我得到了 Unable to find application named 'Emacs' 的提示。我也尝试了小写的 emacs,但结果相同。如 @katspaugh 所提到的,我确实使用 Homebrew 安装了 emacs。命令 which emacs 返回 /usr/local/bin/emacs (我也尝试将其放在 -a 之后,但也不起作用)。如果不必要,我想避免开启另一个重复的问题。 - Steven C. Howell
@stvn66,你在安装命令中添加了“--cocoa”吗?如果你点击它的图标,能否运行GUI Emacs应用程序?如果找不到图标,请使用“--cocoa”标志进行安装。同时尝试运行“brew linkapps emacs”。 - katspaugh
1
@CharlieParker,你肯定可以,但独立的GUI版本要好得多。 - katspaugh
显示剩余3条评论

8
从终端打开文件的最佳方式是使用 emacsclient 命令,它将在您现有的 Emacs 应用程序中打开文件(避免启动时间)。如果您使用 Homebrew 在 OSX 上安装了 Emacs,则 emacsclient 二进制文件已经设置好了。 (在您的 Emacs 配置中,您必须在某个地方包含 (server-start)。)
如果您实际上想要启动一个新的 GUI 应用程序实例,则可以设置自己的 shell 脚本,并将其放在现有的 emacs 二进制文件之前的某个 PATH 目录中。听起来您正在使用 Homebrew,Homebrew 将 emacs 二进制文件设置为以下 shell 脚本:
#!/bin/bash
/usr/local/Cellar/emacs/24.3/Emacs.app/Contents/MacOS/Emacs -nw  "$@"

-nw是防止Emacs以GUI模式打开的参数。您可以自己创建emacs shell脚本,省略-nw参数:

#!/bin/bash
/usr/local/Cellar/emacs/24.3/Emacs.app/Contents/MacOS/Emacs "$@"

1
我赞同使用 emacsclient。使用别名 e,从那以后一直很开心。 - katspaugh

6
要完成你想要的操作,你需要找到包含在Emacs.app中的实际二进制文件的位置,并将其作为命令使用,而不是使用emacs。很可能它在以下位置:
/path/to/Emacs.app/Contents/MacOS/Emacs

如果你在应用程序文件夹中有Emacs.app,那么通常情况下路径会是这样的。
/Applications/Emacs.app/Contents/MacOS/Emacs

如果您想使用一个更短的命令来设置它,可以尝试向您的 .profile(我不知道您使用的是哪个 shell)添加以下行,或者相应地添加到您的 shell 中(这至少适用于 bash 和 zsh):

alias emacsgui='/Applications/Emacs.app/Contents/MacOS/Emacs'

5

2
如果还没有将Emacs链接到/Applications,应该这样做。
brew linkapps emacs

为了将emacs链接到在Cellar中安装的符号链接emacs。一旦链接成功,您就可以通过以下方式打开emacs:
open -a emacs

正如@katspaugh所指出的那样


0

现在brew没有cask命令了。 我使用了brew install emacs,并且可以在我的应用程序目录中找到Emacs应用程序已安装。 您也可以前往https://emacsformacosx.com下载.dmg文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接