OS X emacs:X11 vs NS vs Cocoa之间的区别?


10

我相信,有三种方法可以在osx上构建emacs --- x11,ns(下一步?)和可可。谁能解释构建选项的含义/这三个之间的区别?


1
自从我在OSX上构建x11版本以来已经有几个月了,但是我花了一些时间才发现有必要将其--with-ns=no --with-x用作命令行选项的一部分。我提到这一点是为了防止其他人对在OSX上构建x11版本感兴趣。我可以想象接受的答案将包括用于成功构建材料一提的-例如,XQuartz(X Window系统)等
lawlist

@lawlist啊,很高兴知道!我问这个问题的原因之一是因为我想在osx上用x11(用于xwidgets)构建emacs,但是我想知道从NS到x11是否会失去任何东西。

1
请参阅与该主题相关的主题“ 在OSX下使用xwidget编译emacs? ”: emacs.stackexchange.com/questions/25037/… 我在Emacs的GUI版本中依赖的自定义键盘快捷方式--with-ns在x11版本中不起作用,所以我还不能真正有效地使用x11。我将需要学习如何在x11中配置替代的键盘快捷键-Linux用户可能正好在使用x11版本的家里,但是我有点迷失了。
法律列表

Answers:


12

有许多适用于macOS的Emacs版本,包括:

  • macOS上的官方Emacs使用“ NS”端口(也称为“可可”端口)构建。顾名思义,此Emacs端口源自NextSTEP操作系统的Emacs,自Emacs 23以来一直是macOS上的官方Emacs GUI。

  • 山本光晴(Mitsuharu Yamamoto)维护Emacs的“ Mac端口”。与NS端口相比,它提供了具有不同功能集的替代GUI。这起源于Mac OS 8/9的Emacs端口和Emacs 22的“ Carbon”端口。(此端口也被称为“铁路猫” Emacs,因为它是brew食谱的托管地。)

  • Aquamacs基于Emacs的NS端口,并包含许多增强功能,使其行为更像传统的macOS应用程序。

  • X11:可以使用与X11系统上使用的GUI相同的GUI来构建Emacs,但是需要运行X11服务器。不幸的是,最终结果将不会具有macOS的外观和感觉-菜单之类的外观看起来就像是在类Unix系统上运行。实际上,这不是一个GUI,而是一个GUI:s系列,因为可以使用不同的X11支持库(例如GTK +)进行构建。

  • 仅终端机。这为您提供了只能在终端窗口中运行的Emacs,就像通过-nw选项时GUI Emacs的行为一样。

那么,您应该选择哪一个呢?

如果您懒惰,请选择官方的Emacs-您可以从https://emacsformacos.com下载预构建的版本。

如果您想花一些时间为自己购买最好的Emacs,请尝试使用官方的Emacs和“ mac”端口。总体而言,它们非常相似,但提供的功能集略有不同。

通常,我不建议您使用X11端口,因为您不会获得macOS的外观,但是在某些情况下,它可能很有趣:

  • 您需要仅在X11端口中可用的功能,例如对 xwidget
  • 您已习惯X11,并希望在macOS上使用Emacs时具有完全相同的外观
  • 您需要Emacs的“引用”实现,例如,在为Emacs的NS端口做贡献时。

如果您将x11变体安装到要插入的远程主机上,则可能还需要x11变体:-)
UpAndAdam
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.