Emacs对于Mac OS X用户有什么优势?


9

在过去的一年左右的时间里,我看到了转向Mac OS X上的Emacs的动向,通常是远离TextMate的。虽然我了解退出TextMate的动机(TM2或多或少是蒸气软件),但我并不真正了解Emacs的吸引力。我认识到它是一个功能非常强大的编辑器,但是它与操作系统的集成不是很好,与大多数其他应用程序使用的键盘命令不同,并且学习曲线很大。

在Mac OS X上,其他程序员的文本编辑器(BBEdit,Sublime Text,Xcode)占优势,以及一些有前途的文本编辑器(Chocolat,Kod),Emacs对那些不住在终端中并且没有终端的人的吸引力是什么。肌肉记忆(还)吗?


1
还要注意,许多Emacs快捷方式都可以在OS X上进行文本编辑,例如Ctrl + D表示右键删除,Ctrl + K表示杀戮,Ctrl + Y表示Yank等等。这与Aquamacs Emacs配合使用,其中Cmd +?快捷键,比如Cmd的+ Z撤销,Cmd + X键,+ C + V的剪切/复制/粘贴就像OS X.其余所有的工作
贾里德·厄普代克

Answers:


6

IMO,如果您具有UNIX的背景并且具有Emacs的先前经验,那么将其“继承”到OS X上可能是有意义的。作为一个新的文本编辑器,我个人认为这没有任何意义。是的,它是一个功能齐全的文本编辑器,它可以执行所有操作,但是正如您所说的,它不能很好地集成到OS中,这对我来说是一个主要障碍。

我在OS X上使用vim是因为它是我在Linux上首选的编辑器(我从事许多工作为我赚了钱),然而,我已经开始学习和使用BBEdit。


10

您可以使用Aquamacs形式的OSX GUI Emacs,将其配置为更多OSX,就像它的关键命令和菜单一样,并与OS集成。

emacs的一个吸引力在于,因为emacs主要是用用户可以用来扩展它的语言(e-lisp)编写的,因此有许多脚本为编辑器添加了各种功能,使其功能几乎与ide一样强大。甚至配置也是用相同的语言编写的,因此一旦您学会了它,就可以修改所需的任何内容。

我使用emacs的另一个原因是它可以在多个操作系统(Windows,Linux,Solaris和OSX)上运行,因此我不需要像使用BBEdit等那样为每个人使用不同的编辑器。


1
无论您身在何处,Emacs都是Emacs。一次学习(并打印出一份好的备忘单),您将永远知道它。
kmm

1
@Kevin:自1991年以来我一直在使用它,但我仍在学习它。;-)我住在工作场所,每天都在使用它,但我仍在学习M- /等技巧来实现动态的本地完成...
Michael H.

6

对此类问题的答案可能是主观的。我倾向于不同意Emacs.app在MacOS中不能很好地集成。我目前正在使用来自emacsformacosx.com(不是Aquamacs)的常规Emacs.app ,〜/ .emacs中的几行可以轻松使用熟悉的快捷方式,例如,尝试

(setq mac-option-modifier nil)
(setq mac-right-option-modifier 'meta)
(setq mac-right-command-modifier 'hyper)
;; M-x to its usual meaning:
(global-set-key (quote [343144]) (quote execute-extended-command))
;;  M-p to its usual meaning:
(global-set-key (quote [332412]) (quote next-history-element))

另外,cmd-O之类的快捷方式也会打开常规的MacOS文件对话框,因此无需学习新的快捷方式。顺便说一句,Emacs实际上有几种常见的MacOS快捷方式(例如,Ca用于行首,Ce用于行尾,这是大多数MacOS应用程序(例如Safari或iWork)中的默认值)。

我使用Emacs的主要原因:

  1. 支持几乎所有编程语言,不仅支持语法突出显示,还支持样式设置,标识符补全,自动缩进(仅在emacs中使用TAB可使代码保持整洁,并防止出现大量错别字/不匹配的括号等)

  2. 组织模式

  3. 对使用AUCTex编辑/预览LaTeX文档的强大支持

  4. 与我的台式机(Linux计算机)的工作流兼容性

  5. 出现了像magit之类的用于软件(不仅是)开发的强大工具

  6. EmacsWiki中的惊人支持


1
+1是这些,这正是我在OS X上使用emacs的主要原因,更不用说那是我在切换到Mac之前在Linux上使用的原因。org-mode很棒,我一直在尝试寻找更多方法将其添加到我的工作流中。
cm2

5

这并不是一个正确的答案,但是Cocoa Emacs版本中有一些特定于mac的绑定非常有用。

Emacs Cocoa Mac / OS X特定的按键绑定

  • + &杀死这个缓冲区
  • + 'next-multiframe-window
  • + ,自定义
  • + -中心线
  • + ;ispell-next
  • + shift+ :ispell
  • + shift+ ?信息
  • + shift+ C弹出式彩色面板
  • + shift+ Ddired
  • + shift+ E编辑缩写
  • + shift+ H隐藏其他
  • + shift+ Lshell命令
  • + shift+ M手动输入
  • + shift+ SNS-写入文件使用面板
  • + shift+ ^杀死缓冲区
  • + `其他框架
  • + a标记整个缓冲区
  • + cns-copy-包括第二
  • + disearch-repeat-backward
  • + eisearch-yank-kill
  • + fisearch-forward
  • + gisearch-repeat-forward
  • + hns-do-hide-emacs
  • + j交换标记
  • + k杀死这个缓冲区
  • + l转到行
  • + m图标化框架
  • + n框架
  • + ons-打开文件使用面板
  • + pns-print-buffer
  • + q保存缓冲区杀死emacs
  • + s保存缓冲区
  • + tns-popup-font-panel
  • + u还原缓冲区
  • + v猛拉
  • + w删除框
  • + x杀死区域
  • + yns-paste-secondary
  • + z撤消
  • + |shell区域命令
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.