哪个版本的 Emacs 能最好地利用 Mac GUI?

jus*_*nhj 36 emacs macos

在 Windows 和 Ubuntu 上,我使用 GNU Emacs,但 FSF 不为 Mac 提供二进制文件

我有一个与 Snow Leopard 一起提供的不错的版本,但只是在 bash 终端中运行。是否有在独立窗口中运行并且对 Mac 更友好的版本?

我从 Macports 下载了 Emacs Cocoa,但它没有编译。

Dou*_*ris 32

我尝试了 Aquamacs,但发现它太努力了,无法像 Mac 一样。如果您是刚接触 Emacs 的 Mac 用户,这可能很好。

如果您是刚接触 Mac 的 Emacs 用户(就像几年前的我一样),您可能会对 Mac 特定版本的标准 Emacs 感到更舒服。我从Emacs for Mac OS X得到我的。尝试主页上的标准版本,或单击“其他版本”按钮以获取更多选项。我一直在使用最新的预测试版本 6-12 个月没有问题。


如果您真的想学习并构建自己的副本,请查看Mac OS XEmacs wiki 页面上的提示。请特别注意,您希望使用 nextstep 选项而不是可可或碳来构建:

./configure --with-ns
make
make install
Run Code Online (Sandbox Code Playgroud)


小智 22

这是一个较旧的线程,但是当我想查看 OSX emacs 发行版中是否有新开发时,我遇到了它。如果您使用的是homebrew,则可以使用以下命令安装最新版本的可可 emacs:

brew install emacs --HEAD --cocoa --srgb
Run Code Online (Sandbox Code Playgroud)

请注意,您需要安装 bazaar。或者,您可以从 git 镜像安装它--use-git-head


小智 19

https://github.com/railwaycat/emacs-mac-port

成为 emacs 用户已有 5 年,并尝试了所有 mac 端口。这是迄今为止我用过的最好的,无论是在引擎盖下还是在外观上。它甚至具有平滑的像素滚动、捏合缩放和一些漂亮的 mac 特定优化。

  • Cg 处理 您可以退出 (while t) 和 (shell-command "sleep 100")。这些评估时没有虚假的菜单栏激活。

    • 没有周期性轮询的“select”模拟 当 Lisp 解释器空闲并等待某些事件到来时,它不使用 CPU 时间,即使是子进程或网络连接。

    • 正常终止如果您尝试注销/关闭/重新启动,同时保留修改和未保存的文件访问缓冲区,则会出现一个弹出窗口以供确认。如果您取消 Emacs(包括 Cg 或 ESC)的终止,整个注销/关机/重启过程也会立即取消(即,您将立即看到“取消”对话框而不是“超时”对话框)。如果您没有未保存的缓冲区、shell 缓冲区等,您将不会看到不必要的确认。

    • Apple 事件处理 可以在 Lisp 级别定义 Apple 事件处理程序。实际上,上面的优雅终止是 Lisp 级 Apple 事件处理的一个实例。另一个例子是“Get URL”处理程序,它使我们能够调用您使用`mail-user-agent'自定义的邮件程序,例如,

    $ osascript -e '告诉应用程序“Emacs”打开位置“mailto:foo@example.com”'

    如果您通过 Mail.app 首选项将 Emacs 设置为默认邮件程序,则当您单击 Web 浏览器中的 mailto: 链接时,Emacs 邮件程序将设置草稿缓冲区。

    • DictionaryService 支持您可以通过键入 Command-Control-D(或在 Mac OS X 10.7/10.8 上分别用三个手指双击/单击触控板)在所选窗口中的鼠标指针下查找单词。

    • 分辨率独立(推荐 10.4 - 10.6,10.5)缩放在框架缩放模式下工作,而不是碳端口的(模糊)放大模式。注意:在 Mac OS X 10.7 上不推荐使用这种类型的分辨率独立性。

    • 64 位(10.5 及更高版本)您可以通过在配置上指定 CC="gcc -arch x86_64" 或 CC="gcc -arch ppc64" 来构建和运行具有 GUI 支持的 64 位二进制文​​件。

    • 一些小的视觉增强

      • 菜单中对齐的键绑定
      • 标题栏中的进度指示器(对应沙漏)
      • 字体面板中不可用的项目被隐藏 从菜单栏中尝试选项 -> 显示/隐藏 -> 字体面板或 Mx mac-font-panel-mode RET。
      • 拖动调整大小控件(或字体面板中的滑块)时更新显示
    • fullscreen' frame parameter, with all values supported: fullboth“ fullwidth',fullheight”,和maximized'. The fullboth frames, which don't have the title bar, still allow us to access the menu bar, the Dock, and the tool bars. The menu bar can also be activated via菜单栏打开“Control-F2' (if full keyboard access enabled), or命令按住Shift /”(在Mac OS X 10.5或更高版本)即使在菜单栏通常是隐藏的fullboth帧。在全屏框架中更改字体或内部边框宽度不会使显示混乱。在多显示器环境中,可以通过相应地设置left' and顶部的帧参数将全屏帧移动到另一台显示器。即使使用全屏框架,连接/拆卸外部显示器也应该工作。

    • `sticky' frame 参数,它允许我们在 Mac OS X 10.5 及更高版本上保持所有空间可见的特定帧。
    • 功能system-move-file-to-trash', which can be specified as a value of删除移动到垃圾桶'。
    • SVG 图像显示。这可以通过 WebKit 框架完成,因此您不需要 librsvg。
    • 多页 TIFF 图像。
    • 功能x-select-font' that provides modal font selection dialog in a compatible way with GTK+ and W32 ones. Note that a nonmodal counterpart has been available since Emacs 22 Carbon port viamac-font-panel-mode'。
    • Unicode 字符显示,包括非 BMP 字符。
    • 复杂的文本布局和文本整形。它们是使用 Core Text 或 NS Text 布局引擎实现的,因此您不需要 libotf。
    • 带有变化选择器的字形选择。大多数 Adob​​e-Japan1 表意字形都可以通过 IVSes(表意变化序列)访问,即使是 OS 捆绑的 Hiragino 字体,从 Mac OS X 10.6 开始,它们的 cmap 表中不包含 UVS 子表。

    • 可以使用 ImageMagick 支持进行编译。即使没有 ImageMagick 库,Mac 端口也提供了使用 Image I/O 框架的回退,因此您可以缩放和旋转图像。

    • 变量tool-bar-style' works like in GTK+. The values both-horiz', text-image-horiz' are synonymous withboth'。
    • 基于像素的鼠标滚轮平滑滚动,适用于较新的鼠标/触控板。
    • 新触控板的手势事件处理。默认情况下,放大/缩小绑定到文本大小缩放。使用 shift 键,他们可以打开/关闭框架的全屏状态。
    • 使用 (a) 同步回复处理发送 Apple 事件。作为示例添加了 ODB 编辑器套件支持。(仅使用 QuickCursor 测试。在 QuickCursor.app/Contents/Info.plist 中的 QCEditInChoices 元素中添加“org.gnu.Emacs”。在 QuickCursor 2.0 上,您需要在保存缓冲区后杀死缓冲区以反映对原始文本区域。)
    • 支持系统偏好设置中的“点击滚动条:跳转到点击的位置”设置。单击时按下选项键会暂时切换此行为。
    • 系统偏好设置的外观面板中文本平滑阈值设置的更改会立即反映出来。
    • 系统偏好设置中列出的几个键盘快捷键(特别是用于键盘导航的快捷键)就像其他应用程序一样工作。
    • 当剪贴板同时具有文本和图像数据时,yank 将插入前者并将两者推入 kill ring,以便后者可以在之后使用 yank-pop 插入。
    • 使用非整数 x 位置来显示抗锯齿的比例字体。例如,您可以通过将框光标放在 Helvetica 12pt `I' 上来查看差异,其理想宽度为 3.33398,但显示为圆形宽度 3。
    • Emacs 信息节点可通过 Mac OS X 10.6 及更高版本的“帮助”菜单中的搜索字段访问。
    • Menu item "Open Selected File in Emacs" is shown in Services or context menu of other applications by default on Mac OS X 10.6 and later when absolute pathname-like text is selected.
    • 即使没有选择,Kotoeri 中的反向转换也能工作。按 JIS 键盘上的 Eisu/Kana 键(或美国键盘上的 Control-Shift-;/J/K)也有效。
    • 新函数mac-file-alias-p', which is parallel to file-symlink-p'。
    • 对 Emacs 框架自定义视图的可访问性的实验性支持。在 Mac OS X 10.7 上需要支持“Text to Speech”。仍然有几个小故障。
    • 如果在 Mac OS X 10.7 或更高版本上编译和执行,可以显示彩色位图字体,例如 Apple Color Emoji。还支持显示一些区域指示符的组合,例如 U+1F1EF 后跟 U+1F1F5,作为国旗。还支持变体选择器 15(文本样式)和 16(表情符号样式)。
    • 新功能“mac-start-animation”,通过 Core Animation 在 Mac OS 10.5 及更高版本上提供动画效果。您可以通过水平滑动/轻弹查看带有缓冲区切换的默认动画,通过键入“q”退出启动画面,以及应用程序菜单中的“关于 Emacs”和“首选项...”菜单项(标记为“Emacs”) ) 在菜单栏中。


小智 5

好吧,我将 vanilla emacs 与 ns 补丁一起使用,但使用此设置

(setq mac-command-modifier 'meta)
(setq mac-option-modifier nil)
(setq ns-function-modifier 'hyper)

;; keybinding to toggle full screen mode
(global-set-key (quote [M-f10]) (quote ns-toggle-fullscreen))

(add-to-list 'ido-ignore-files "\\.DS_Store")

;; Move to trash when deleting stuff
(setq delete-by-moving-to-trash t
      trash-directory "~/.Trash/emacs")
Run Code Online (Sandbox Code Playgroud)

我认为是从 emacs 岩石 github 的那个人那里得到的。这样我就可以像在任何其他应用程序中一样使用 ´ 和其他选项字符,并且还有一个更熟悉的 Meta Key 位置(我有大写锁定作为 ctrl btw)

(setq x-select-enable-clipboard t)
Run Code Online (Sandbox Code Playgroud)

所以我可以复制并粘贴到 emacs 中(即,我在 chrome 上使用 cmd+c,在 emacs 上使用 Cy 进行粘贴,反之亦然 Cw cmd+v)