GNU Emacs 文本编辑器自 1976 年以来就已存在,并且仍然是软件开发人员和作家中的热门选择。它的主要重点是可扩展、可定制、自文档化和实时显示,并且拥有操作系统的功能。(是的,对我来说它是一个操作系统。)
虽然 Emacs 的核心是用 C 编写的,但许多扩展 Emacs 基本功能的函数是用 elisp 编写的,elisp 是 lisp 编程语言的一种方言,或者类似的东西。 基本上,插件是用 lisp 编写的,但对于 Emacs 来说,很多功能都来自插件。
我是在大学期间接触到 Emacs 的,当时我的研究涉及基于 Python 的物理模拟。我的许多同事都在使用 VIM。 我尝试了一下,但很快发现自己想要更简单的东西。 我看到一些 Linux 内核开发人员使用 Emacs,并决定试一试。 它很简单,但高度可定制。 在为 Python 配置它并学习了适当的击键后,我变得非常习惯不使用鼠标来使用它。
使用 Emacs,用户可以回复电子邮件、阅读新闻、聊天、浏览文件和目录、运行命令、写博客和播放音乐——所有这些都是内置的。 我甚至用它来编写我的 Raspberry Pi 和 Arduino/ATmega32 微控制器。
Emacs 轻松支持所有主要的编程语言。 语法突出显示、自动完成和帮助/文档只是开发人员可使用的一些功能。 它还支持第三方插件(扩展),可以使用 package-install 添加。 Emacs 与系统结合得很好,几乎不需要打开终端来运行命令。 配置完成后,它可以成为开发人员的理想 IDE。
对于非技术任务,如记笔记、记录议程和写博客,Emacs 提供了一个名为 Org Mode 的杀手级功能。 我在其中管理我的所有笔记和待办事项。 我最近将 Artist Mode 与 ditaa 一起用于框图,并对结果感到惊讶。 Org 文件可以导出为 HTML、LaTeX、ODT 和 Markdown。
对于那些刚接触 Emacs 的人,只需像对待任何其他编辑器一样对待它即可。 使用您的鼠标和菜单栏。 尝试其内置教程。 在上面花一些时间后,尝试学习击键并避免使用鼠标。 过一段时间后,除非您使用 Artist Mode,否则您将不需要鼠标。 Emacs 不会一次性施加所有复杂性,但如果您需要,该功能始终存在。
酷炫的 Emacs 扩展
- magit: Emacs 内部的 Git Porcelain。 使用 magit 可以在 Emacs 中处理 Git 存储库。
- git-timemachine: 浏览 git 控制的文件的存档版本。
- yasnippet: Emacs 模板系统。
- Jedi: Python 自动完成库。
- Multiple cursors: Emacs 的多个光标。
- hidepw: 用于隐藏密码的 Emacs 小模式(反肩窥)。
- Company: Emacs 的文本完成框架,可以自动完成几乎任何类型的文本。
Emacs 思想领袖
- Sacha Chua: 她的博客上有很多关于 Emacs 的帖子。 她特别撰写了关于 Org Mode 和议程的优秀文章。 她还主持 Emacs Hangout,在那里她定期采访 Emacs 用户和开发人员。
- Xah Lee: Xah 是 Emacs 世界中最鼓舞人心的人。 他定期在 Google+ 上发帖。 他关于 Emacs 和 elisp 的教程非常适合新手。
- Chris Frono: Chris 编写了 hidepw 并与他人共同主持了 The Haskell Cast。 他的 Emacs 视频教程 可能非常有帮助。
- Magnar Sveen: multiple-cursors 的作者和维护者。 在 emacsrocks.com 上查看他的 Emacs 视频
- John Wiegley: John 是当前的 Emacs 维护者。 他关于 Emacs lisp 开发技巧 的 Emacs hangout 视频是必看的。
Emacs 不仅仅是文本编辑,我建议新用户和核心开发人员都使用它。
12 条评论