我正在尝试在终端外的 emacs 上打开文件。当我编码而不是通过终端进行编码时,我更喜欢 gui/ide 环境。我最初认为键入emacs filename.py
会通过 Emacs.app 打开该文件,但它只允许我通过终端编辑文件。当这不起作用时,我考虑在我的主目录中编辑 .profile 和 .emacs 文件,但这无济于事。
也许这比我读过的更直观,但我似乎无法弄清楚。任何帮助表示赞赏。
我正在尝试在终端外的 emacs 上打开文件。当我编码而不是通过终端进行编码时,我更喜欢 gui/ide 环境。我最初认为键入emacs filename.py
会通过 Emacs.app 打开该文件,但它只允许我通过终端编辑文件。当这不起作用时,我考虑在我的主目录中编辑 .profile 和 .emacs 文件,但这无济于事。
也许这比我读过的更直观,但我似乎无法弄清楚。任何帮助表示赞赏。
假设您从Homebrew安装了 Emacs,如下所示:
brew install emacs --with-cocoa
只需键入以下命令即可从终端打开 Emacs.app:
open -a Emacs filename.py
如果您希望在同一框架中打开所有文件,而不是新框架,请将其放入您的.emacs
文件中:
(setq ns-pop-up-frames nil)
从终端打开 Emacs 文件的最佳方式是使用emacsclient
命令,该命令将在您现有的 Emacs 应用程序中打开文件(防止启动时间)。如果你在 OSX 上并且你通过 Homebrew 安装了 Emacs,那么emacsclient
二进制文件已经设置好了。(在您的 Emacs 配置中,您必须包含(server-start)
某处。)
如果您确实想启动一个新的 GUI 应用程序实例,您可以设置自己的 shell 脚本并将其放在PATH
现有emacs
二进制文件之前的某个位置。听起来您正在使用 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 "$@"
为了做你想做的事,你需要找到 Emacs.app 中包含的实际二进制文件的位置,并将其用作命令而不是 emacs。最有可能的是,它在
/path/to/Emacs.app/Contents/MacOS/Emacs
如果您的 Applications 文件夹中有 Emacs.app ,这通常是
/Applications/Emacs.app/Contents/MacOS/Emacs
要使用更短的命令进行设置,您可以尝试将以下行添加到您的 .profile (我不知道您使用什么 shell),或者它对您的 shell 具有的任何等效项(这适用于 bash 和 zsh,至少):
alias emacsgui='/Applications/Emacs.app/Contents/MacOS/Emacs'
解决这个问题的现代方法是使用Homebrew Cask安装 Emacs :
brew cask install emacs
资料来源: Homebrew 项目负责人 Mike McQuaid 的评论,内容如下:
不接受 Cocoa 对 Emacs 的支持。这是由 提供的
brew cask install emacs
。
One should link emacs to /Applications if not already done,
brew linkapps emacs
to link the emacs to symlink emacs installed in Cellar. Once symlinked, you can open emacs by
open -a emacs
as already pointed out by @katspaugh
brew 不再有 cask 命令。我使用过brew install emacs
并且可以在我的应用程序目录中找到安装的 Emacs 应用程序。您也可以前往https://emacsformacosx.com并下载 .dmg 文件。