适用于Mac OS X的Emacs
Mac OS X的Emacs提供了GNU Emacs的OS X二进制文件。与使用编译GNU Emacs发行版tarball大致相同./configure --with-ns
。该站点提供稳定版本和预测试的构建,以及夜间快照。所有这些构建都是独立的,可让您安全地尝试预测试和快照。
但是请注意,这些二进制文件不支持某些库,尤其是GNU TLS和ImageMagick。如果您想使用它们-如果您想在Emacs中阅读邮件,前者特别重要-您需要从Homebrew获得GNU Emacs。
修改了OS X的Emacs
根据网站Emacs for OS X的说明,Modified只是基于上述内容的GNU Emacs的标准构建,带有一些其他软件包以及启用所有这些软件包的必要配置。
除了ESS以外,所有这些软件包都可以通过Emacs的软件包归档文件获得,以安装在任何Emacs中。例如,您只需键入M-x package-install RET auctex
并启用AUCTeX,即可在GNU Emacs中正确安装AUCTeX 。
软件包的选择表明它主要针对统计学家和研究,这将通过R和ESS通过他们的数据进行工作,然后与Org或AUCTeX和LaTeX发表论文。
对于其他用户来说,这种分布可能没有什么用,因为您仍然需要安装其他软件包,并且可能立即使用GNU Emacs。
这是您可以通过安装其他Emacs软件包并进行相应调整来在GNU Emacs中正确创建自己的发行版init.el
。其他发行版是GNU Emacs的修补和分支变体。
Emacs Mac端口
Emacs Mac Port是GNU Emacs的补丁集,适用于更好的OS X集成。请注意,GNU Emacs本身也具有本机OS X支持,但缺少此补丁集提供的OS X特定的附加功能。值得注意的是:
- 用于文本呈现的核心文本,可改善文本外观和Unicode支持。它已合并到GNU Emacs适当的文件中,并且是Emacs 24.4的一部分。
- 平滑滚动。GNU Emacs适当地沿行滚动,这对于触控板来说非常漫长和跳跃。Emacs Mac Port像其他本机OS X应用程序一样使用基于像素的滚动,感觉更加流畅,也更加精确。但是,它仅影响触控板的滚动,因此,如果您不使用鼠标,则不需要它。
- 手势。您可以捏以增加/减小文本大小。同样,如果您不使用鼠标,您将不会注意到它,并且可以说这只是一个奇特的功能。
- 支持Apple Events。您可以从Emacs Lisp发送和接收Apple Events。
- 字典服务。与其他OS X应用程序一样,在Apple的Dictionary应用程序中,三指轻击将搜索光标下方的单词。
- 服务集成。您可以从正在运行的Emacs的上下文菜单中的Finder中打开选定的文件。
- 使用Webkit而非librsvg显示本机SVG。据我所知,Webkit具有更好的SVG支持,但是谁在Emacs中查看SVG?
您会注意到,大多数这些功能仅与集成到OS X有关,对于使用Emacs并不是必不可少的。除此之外,Emacs Mac Port非常类似于标准的GNU Emacs。
它的某些功能重新回到GNU Emacs中,但是其他功能将永远不会被合并,因为它们是OS X专有的,并且在免费的替代GNUStep中不可用,这违背了FSF的原则,即不支持专有操作系统。他们的免费替代品。另外,如果我没记错的话,此补丁集的作者对将功能重新带回上游的兴趣不大,这可能是出于先前的原因。
阿夸马克斯
Aquamacs是GNU Emacs的一个重要补丁。与上述所有方法不同,它不是基于GNU Emacs的,而是具有独立的源代码树。不过,它定期与Emacs上游同步,并紧跟Emacs发行版。但是,它不可避免地落后于GNU Emacs干线。
它经过了重大修改,以使其外观和感觉像本机OS X应用程序。值得注意的是,它支持并鼓励标准的OS X键绑定,例如Cmd+S保存。虽然,标准Emacs绑定仍然大部分可用。
由于它的分支经过了重大修改,并且具有完全不同的目标和原理,因此它的任何功能都不会与GNU Emacs合并:这些修改中的大多数直接违背了GNU Emacs的“精神”,思想和理念。
TL; DR(或:我应该选什么)
- 如果您是统计学家或研究人员,并且不想自己设置Emacs: 修改了OS X的Emacs
- 如果您想要本机OS X应用程序比其他所有功能都多:Aquamacs
- 如果您想要Emacs,但又具有尽可能好的OS X支持:Emacs Mac Port
- 如果您只想要Emacs,而没有任何复杂性:适用于Mac OS X的Emacs
我的个人建议
我从未尝试过将Emacs用于OS X Modified或Aquamacs,但在前者中我使用很少(我不是统计学家,可以自己安装AUCTeX)。我还建议不要使用后者:这是一个分支,虽然它可以为您提供最佳的OS X集成,但它不可避免地会落后,并且在Emacs社区中获得的支持较少。许多软件包不支持Aquamacs,因此,如果出现问题,很可能让您独自作为Aquamacs用户。
我确实尝试了Emacs Mac Port,并且平滑滚动,手势和Apple Events很好,但我发现这些小好处不值得保留GNU Emacs补丁版本的麻烦。YMMV,显然,如果您希望获得良好的OS X支持,并且这些功能吸引您,那么您绝对应该尝试一下。
如今,我仅使用GNU Emacs快照构建。这些具有相当好的OS X支持,并且到目前为止最容易安装,并且得到社区的最佳支持。
我曾经从Mac OS X的Emacs中获取它们,但是现在我使用Homebrew,因为它支持更多的库,尤其是用于加密网络连接的GNU TLS。
总而言之:使用brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick
:)。