哪个版本的 Emacs 可以充分利用 Mac GUI?

哪个版本的 Emacs 可以充分利用 Mac GUI?

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

我有一个 Snow Leopard 附带的不错的版本,但只能在 bash 终端中运行。有没有可以在独立窗口中运行且更适合 Mac 的版本?

我从 Macports 下载了 Emacs Cocoa,但它无法编译。

答案1

我尝试过 Aquamacs,但发现它太过努力地模仿 Mac。如果你是刚接触 Emacs 的 Mac 用户,那么这个可能不错。

如果你是刚接触 Mac 的 Emacs 用户(就像我几年前一样),你可能会更习惯 Mac 专用的标准 Emacs 版本。我的 Emacs 是从适用于 Mac OS X 的 Emacs。尝试主页上的标准版本,或单击“其他版本”按钮以获得更多选项。我已经使用最新的预测试版本 6-12 个月了,没有出现问题。


如果你真的想成为一个有才华的人,并建立自己的副本,请查看Mac OS X 版 Emacs 维基页面。请特别注意,您要使用 nextstep 选项进行构建,而不是使用 cocoa 或 carbon 选项:

./configure --with-ns
make
make install

答案2

这是一个较旧的线程,但我在查看 OSX emacs 发行版是否有新开发时偶然发现了它。如果你正在使用自制,你可以使用以下命令安装最新版本的 cocoa emacs:

brew install emacs --HEAD --cocoa --srgb

请注意,您需要安装 Bazaar。或者,您也可以使用以下命令从 git 镜像中安装它--use-git-head

答案3

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

我已经使用 Emacs 5 年了,尝试过所有的 Mac 版本。这是到目前为止无论是内在还是外观,它都是我用过的最好的。它甚至具有流畅的像素滚动、捏合缩放和一些巧妙的 Mac 特定优化。

  • 重心处理

    您可以退出(while t)(shell-command "sleep 100")在进行这些评估时,不会激活虚假的菜单栏。

  • select无定期轮询的模拟

    当 Lisp 解释器空闲并等待某些事件到来时,即使有子进程或网络连接,它也不会占用 CPU 时间。

  • 优雅终止

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

  • Apple 事件处理

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

    $ osascript -e 'tell application "Emacs" to open location "mailto:[email protected]"'
    

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

  • DictionaryService 支持

    ⌘ (Command)您可以在选定的窗口中通过输入- ^ (Control)-来查找鼠标指针下的单词D(或者在 Mac OS X 10.7/10.8 上用三根手指双击/单击触控板)。

  • 分辨率独立性(10.4 - 10.6,建议10.5)

    对于 Carbon 端口,缩放功能在框架缩放模式下有效,而不是在(模糊)放大模式下有效。注意:这种类型的分辨率独立性在 Mac OS X 10.7 上已弃用。

  • 64 位(10.5 及更高版本)

    CC="gcc -arch x86_64"您可以通过指定或配置来构建和运行具有 GUI 支持的 64 位二进制文​​件CC="gcc -arch ppc64"

  • 一些细微的视觉增强

    • 菜单中的对齐键绑定

    • 标题栏中的进度指示器(对应沙漏)

    • 字体面板中不可用的项目被隐藏

      尝试从菜单栏或 Mx mac-font-panel-mode RET 选择选项 → 显示/隐藏 → 字体面板。

    • 拖动调整大小控件(或字体面板中的滑块)时更新显示

    • framefullscreen参数,支持所有值:fullbothfullwidthfullheightmaximizedfullboth没有标题栏的框架仍允许我们访问菜单栏、Dock 和工具栏。菜单栏也可以通过menu-bar-openControl-F2(如果启用了全键盘访问)或⌘ (Command)- Shift- /(在 Mac OS X 10.5 及更高版本中)激活,即使对于菜单栏通常隐藏的框架也是如此。在全屏框架中更改字体或内部边框宽度不会使显示混乱。在多显示器环境中,可以通过相应地设置和框架参数fullboth将全屏框架移动到另一个显示器。即使使用全屏框架,连接/拆卸外部显示器也应该有效。lefttop

    • 框架参数sticky,使我们能够在 Mac OS X 10.5 及更高版本上的所有空间中保持特定框架可见。

    • 该函数system-move-file-to-trash,可以指定为 的值delete-by-moving-to-trash

    • SVG 图像显示。这可以通过 WebKit 框架完成,因此不需要 librsvg。

    • 多页 TIFF 图像。

    • 该函数x-select-font以与 GTK+ 和 W32 兼容的方式提供模态字体选择对话框。请注意,自 Emacs 22 Carbon 移植以来,非模态对应函数已通过 提供mac-font-panel-mode

    • Unicode 字符显示,包括非 BMP 字符。

    • 复杂的文本布局和文本整形。它们是使用 Core Text 或 NS Text 布局引擎实现的,因此你不需要 libotf。

    • 使用变体选择器选择字形。大多数 Adob​​e-Japan1 表意文字形都可以通过 IVSes(表意文字变体序列)访问,即使是操作系统捆绑的 Hiragino 字体也是如此,自 Mac OS X 10.6 起,这些字体的 cmap 表中不包含 UVS 子表。

    • 可以使用 ImageMagick 支持进行编译。即使没有 ImageMagick 库,Mac 端口也使用 Image I/O 框架提供后备功能,以便您可以缩放和旋转图像。

    • 变量的tool-bar-style工作方式与 GTK+ 中类似。值both-horiz,text-image-horiz与 同义both

    • 基于像素的鼠标滚轮可平滑滚动,适用于新型鼠标/触控板。

    • 为较新的触控板处理手势事件。默认情况下,捏合/张开与文本大小缩放绑定。使用 Shift 键,它们可以打开/关闭框架的全屏状态。

    • 使用 (a) 同步回复处理发送 Apple 事件。添加了 ODB Editor Suite 支持作为示例。(仅使用 QuickCursor 测试。添加"<string>org.gnu.Emacs</string>"到 QuickCursor.app/Contents/Info.plist 中的 QCEditInChoices 元素。在 QuickCursor 2.0 上,您需要在保存缓冲区后将其删除,以便将更改反映到原始文本区域。)

    • 支持系统偏好设置中的“单击滚动条:跳转到单击的位置”设置。单击时按下选项键可暂时切换此行为。

    • 系统偏好设置的外观窗格中文本平滑阈值设置的更改会立即反映出来。

    • 系统偏好设置中列出的几个键盘快捷键(特别是键盘导航快捷键)的工作方式与其他应用程序一样。

    • 当剪贴板同时包含文本和图像数据时,yank 会插入前者,并将两者都推入 kill ring,以便随后使用 yank-pop 插入后者。

    • I使用非整数 x 位置来显示抗锯齿比例字体。例如,通过将框光标放在 Helvetica 12pt 上,可以看到差异,其理想宽度为 3.33398,但显示为四舍五入的宽度 3。

    • 可以通过 Mac OS X 10.6 及更高版本中的帮助菜单中的搜索字段访问 Emacs 信息节点。

    • 在 Mac OS X 10.6 及更高版本中,当选择绝对路径名类文本时,菜单项“在 Emacs 中打开选定文件”默认显示在服务或其他应用程序的上下文菜单中。

    • 即使没有选择,Kotoeri 中的反向转换也可以工作。按两次 JIS 键盘上的 Eisu/Kana 键(或US 键盘上的^ (Control)- Shift- ;/ J/ )也可以。K

    • 新功能mac-file-alias-p,与 平行file-symlink-p

    • 针对 Emacs 框架的自定义视图的可访问性进行实验性支持。这是在 Mac OS X 10.7 上支持“文本转语音”所必需的。但仍存在一些问题。

    • 如果在 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”和“首选项...”菜单项。

答案4

看一下水上麦克斯,这应该就是您要找的。

相关内容