哪个版本的Emacs最能充分利用Mac GUI?[关闭]


34

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

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

我从Macports下载了Emacs Cocoa,但未编译。

Answers:


30

我尝试了Aquamacs,但发现它很难像Mac一样。如果您是Emacs的Mac用户,那么这可能很好。

如果您是Mac的新用户(就像我几年前一样),那么您可能会更熟悉Mac专用的标准Emacs版本。我从Mac OS X的Emacs获得了我的帮助。尝试在主页上使用标准版本,或单击“其他版本”按钮以获取更多选项。我已经使用了6-12个月的最新预测试版本,没有任何问题。


如果您真的想学习并构建自己的副本,请查看Mac OS XEmacs Wiki页面上的提示。请特别注意,您要使用下一步而不是可可或碳的选项进行构建:

./configure --with-ns
make
make install

我是一个非常新的mac用户和一个相当老的emacs用户,因此构建自己的声音非常理想。感谢有关ns的提示。
justinhj 2010年

在Mac OS X的emacs中,没有将meta键设置为command的首选项(因为我们使用了大量的alt键,所以在英语键盘中必须这样做)。另外,根本没有文档。您能给我一些信息来解决这个问题吗?我想用它:)谢谢。
volothamp 2011年


22

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

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

请注意,您需要安装义卖市场。或者,您可以从git镜像安装--use-git-head


这不能正常工作。未安装Emacs.app。正确的命令行是“ brew install --cocoa --srgb emacs”。选项的顺序很重要。
javadba

16

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

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

  • Cg处理您可以退出(t时)和(shell命令“ sleep 100”)。在进行这些评估时,不会伪造菜单栏。

    • 在不进行定期轮询的情况下模拟“ select”,它不会占用Lisp解释器空闲并等待某些事件(即使有子进程或网络连接)时也不会占用CPU时间。

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

    • Apple事件处理程序可以在Lisp级别定义​​Apple事件处理程序。实际上,上述正常终止是Lisp级Apple事件处理的一个实例。另一个示例是“获取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)缩放比例适用于“框架缩放”模式,而不是Carbon端口的(模糊)放大模式。注意:Mac OS X 10.7不推荐使用这种类型的分辨率。

    • 64位(10.5和更高版本),可以通过在configure上指定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顶部框架参数将全屏框架移动到另一台显示器。即使使用全屏框架,也可以安装/拆卸外接显示器。

    • “粘性”框架参数,它使我们能够在Mac OS X 10.5和更高版本上的所有Space中保持特定的框架可见。
    • 功能“ 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。
    • 带有变体选择器的字形选择。甚至对于OS捆绑的Hiragino字体,也可以通过IVSes(表意变化顺序)访问大多数Adobe-Japan1表意字形,这些字体在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 Editor Suite支持为例。(仅使用QuickCursor进行测试。在QuickCursor.app/Contents/Info.plist中的QCEditInChoices元素中添加“ org.gnu.Emacs”。在QuickCursor 2.0上,您需要在保存缓冲区后将其杀死以反映对缓冲区的更改。原始文本区域。)
    • 支持“系统偏好设置”中的“在滚动条中单击以:跳转到被单击的位置”设置。单击时按选项键可暂时切换此行为。
    • “系统偏好设置”的“外观”窗格中的文本平滑阈值设置更改会立即反映出来。
    • 系统偏好设置中列出的几个键盘快捷键(特别是键盘导航的键盘快捷键)与其他应用程序一样工作。
    • 当剪贴板同时具有文本数据和图像数据时,yank插入前者并将两者都推入杀死环,以便后者可以随后通过yank-pop插入。
    • 使用非整数x位置来显示抗锯齿的比例字体。您可以通过将框形光标放在Helvetica 12pt'I'上来查看差异,例如,其理想宽度为3.33398,但显示为四舍五入的宽度3。
    • 通过Mac OS X 10.6及更高版本上的“帮助”菜单中的搜索字段,可以访问Emacs信息节点。
    • 默认情况下,在Mac OS X 10.6和更高版本上,选择类似绝对路径名的文本时,菜单项“在Emacs中打开所选文件”会显示在其他应用程序的服务或上下文菜单中。
    • 即使没有选择,Kotoeri中的反向转换也可以工作。两次击中JIS键盘上的Eisu /假名键(或在美国键盘上按Control-Shift-; / J / K)也可以。
    • 新函数mac-file-alias-p', which is parallel to 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”,可在Mac OS 10.5及更高版本上通过Core Animation提供动画效果。您可以通过以下方式查看默认动画:通过水平滑动/轻拂切换缓冲区,通过键入“ q”从初始屏幕退出,以及在应用程序菜单(标记为“ Emacs”)中的“关于Emacs”和“首选项...”菜单项)。

在发现Aquamacs和“适用于OS X的Emacs”都不适合之后,我在此端口上也获得了出色的效果-我强烈推荐它。
亚伦·米勒

1
不错,值得单独进行平滑滚动
huyz

该端口可以与Aquamacs样式的修饰键(即meta的选项和hyper / super的命令)一起使用吗?当我尝试它时,除了曲折的口音和字符,我别无选择。
白炽灯

@incandescentman是的,可以。
2015年

谢谢你提供信息!完全同意@huyz,我只是想知道Linux是否有类似的构建?我的意思是,如果有适用于Linux的Emacs构建和平滑滚动?
2015年

4

好吧,我在ns补丁中使用了香草emacs,但使用了此设置

(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")

我从emacs的github上的家伙那里得到了它们。这样,我可以像在其他任何应用程序中一样使用´和其他选项字符,并且还具有更熟悉的Meta键位置(我将大写锁定为ctrl btw)

(setq x-select-enable-clipboard t)

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



2

如果安装MacPorts,则可以安装一个不错的emacs构建,并轻松地对其进行更新。这样做的好处是,如果需要,可以轻松访问大量其他软件包。


2

macports有几种可用的emacs变体:

emacs has the variants:
   gtk: Builds emacs as an X11 program with GTK+2 widgets
     * requires x11
   motif: Builds emacs as an X11 program with Motif widgets
     * requires x11
   universal: Build for multiple architectures
   x11: Builds emacs as a X11 program with Lucid widgets

还有一个可可emacs:

emacs-app @23.1 (aqua, editors)
    The GNU Emacs text editor (Cocoa version)

这不是为我打造的。我将查看是否可以在一段时间后发布错误
justinhj 2010年

1

由于您在Snow Leopard上,因此MacPorts的emacs-app无法编译,但是emacs-app-devel可以编译!


0

亲自使用碳emacs'cos,这是没有掺入烦人的标签的外观,看上去最像原始的。http://www.emacswiki.org/emacs/CarbonEmacsPackage

如果使用空格,一个技巧是将窗口之间的切换更改为ctrl-arrow以外的其他内容,因为每次尝试在emacs中执行逐字选项卡时,都会带您进入另一个窗口,这会有点磨损过了一会儿。

碳纤维emacs对字体的支持有些局限,我还没想尽办法解决这个问题。




-2

在各种UNIX,Linux,FreeBSD,OS / 2和Windows上使用EMACS多年后,我终于停止了工作……我一直在使用Smultron。我发现EMACS的可可版本与Mac OS整合得并不好,对我来说也没有“感觉”像普通的EMACS。

这些天,我的大部分开发工作都是在专用的IDE(XCode,Unity或Eclipse)中完成的,因此我通常不会错过EMACS。再说一次,我从来没有像文本编辑器那样将EMACS用作操作系统。:-)

Eddie是OS X的另一个体面的免费程序员文本编辑器。

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.