版权所有 © 1998 - 2001 Jeremy D. Zawodny。 根据 GNU 通用公共许可证,允许分发和修改本文档。 在线副本可在 https://gnu.ac.cn/copyleft/gpl.html 获取
本文档的目标读者是对学习一点 Emacs 并尝试使用它感兴趣的 Linux 用户。 这实际上最初是在托莱多地区 Linux 用户组会议上我要做的一个简短教程的概要:http://www.talug.org/。 由于我收到了来自社区的有用反馈,它后来有所增长。 有关详细信息,请参阅致谢部分。
话虽如此,本文档中实际上没有任何特定于 Linux 的内容。 它适用于几乎所有 Unix 版本,甚至是在 Microsoft Windows 上运行的 Emacs。 但由于本文档是 Linux 文档项目的一部分,我特意说明它是为 Linux 用户开发的——因为它确实是。
最后,你们中那些更喜欢用 GNU/Linux 而不是简单的“Linux”这个名字的人(阅读 https://gnu.ac.cn/gnu/linux-and-gnu.html 以了解为什么有人可能会这样做)欢迎在本文档中将所有出现的 Linux 在脑海中替换为 GNU/Linux。 虽然我不同意这种想法背后的理由和精神,但我并不觉得有必要写 GNU/Linux。
对于不同的人来说,Emacs 是不同的东西。 根据你问的对象,你可能会得到以下任何一种回答:
但为了我们的目的,让我们假设它只是一个文本编辑器——一个非常灵活的文本编辑器。 我们稍后将更深入地探讨这个问题。 Emacs 由 Richard Stallman(自由软件基金会的创始人:http://www.fsf.org/ 和 GNU 项目 https://gnu.ac.cn/)编写,他至今仍在维护它。
Emacs 是 Linux(和 Unix)上最流行和最强大的文本编辑器之一。 它的受欢迎程度仅次于 vi。 它以其庞大的功能集、易于定制的能力以及极少 bug 而闻名。 它庞大的功能集和可定制性实际上是 Emacs 设计和实现方式的结果。 在不深入所有细节的情况下,我只想指出 Emacs 不仅仅是“一个编辑器”。 它是一个主要用编程语言 Lisp 编写的编辑器。 Emacs 的核心是用 C 编写的全功能 Lisp 解释器。 只有 Emacs 最基本和最底层的部分是用 C 编写的。 编辑器的大部分实际上是用 Lisp 编写的。 因此,从某种意义上说,Emacs 有一种完整的编程语言“内置”,你可以用它来自定义、扩展和更改其行为。
Emacs 也是最古老的编辑器之一。 过去 20 年(?)来,成千上万的程序员一直在使用它,这意味着有许多可用的附加软件包。 这些附加组件使 Emacs 能够完成 Stallman 在他最初开始 Emacs 工作时可能从未梦想过的事情。 更多内容将在后面的章节中介绍。
还有许多其他网站和文档更好地概述了 Emacs、它的历史和相关事项。 我建议你查看本文档的 其他资源 部分列出的一些地方,而不是尝试在此处重现其中的大部分内容。
值得指出的是,实际上有两种不同的 Emacs 编辑器:GNU Emacs 和 XEmacs。 两者都来自相同的传承,并共享大部分相同的功能。 本文档侧重于 GNU Emacs(特别是 20.3 版本),但你在此处阅读的大部分内容也同样适用于 XEmacs 和早期版本的 GNU Emacs。 在本文档中,我将简单地称为“Emacs”。 当我这样做时,请记住这一点。
获取 Emacs 很简单。 如果你使用的是流行的 Linux 发行版,如 Debian、RedHat、Slackware 或任何其他发行版,Emacs 可能是一个可选软件包,你可以从你的发行版媒体安装它。 如果没有,你可以获取 Emacs 源代码并自行编译。 访问 GNU 网站以获取确切位置:https://gnu.ac.cn/software/emacs/emacs.html