1.1. Emacs介绍!
GNU Emacs 是当今世界上最常用的文件编辑器之一。比起vi(Unix的标准编辑 器)或者其他可视化文本编辑器,很多使用者更青睐Emacs。为什么Emacs如此受 欢迎?它不是最新的编辑器,当然也不是最好的。但它很可能是你学过的最有用 的。我们想要介绍给你一些Emacs的必备知识,帮助你有效地使用它来完成工作。 这本书是一本Emacs用户指南,它试图满足不同读者的需求,囊括一般使用者到程 序员。
因此本书不是告诉你Emacs的所有细节。书中没有过多描述它的功能和指令。在我 们看来这并不是什么问题。Emacs拥有广泛的在线帮助工具,能够帮助你们理解那 些功能。我们应该把更多的注意力放在如何完成有用的工作上。在前三节介绍完 基本编辑后,接着我们介绍如何让Emacs成为一个集成工作环境:如何用多个缓冲 区和窗体来提高效率; 如何在不离开编辑器的情况下运行命令,如何利用特定的 编辑模式,如何用Emacs编辑特定的类型的文件(各种类型的编程语言的源文件) 等等。我们在书中涵盖了最重要的指令和编辑模式。然而,你始终要牢记一个原 则:我们可以利用Emacs完成很多工作,但是它的重要性并不是体现在这儿,而是 能够集成你需要做的不同事情。
集成是什么意思呢?一个简单的例子就可以解释。假设有人给你发了封邮件,描 述了一个操作新打印机的特殊指令。你可以启动Emacs,把指令粘贴到Emacs,然后 直接执行它。如果它能运行,你可以通过编辑你的启动文件为这个指令创建一个 别名。你可以在不离开编辑器或者重新输入指令的情况下完成这些事。这就是 Emacs为什么有如此强大的功能。它不仅仅是一个编辑器,还是一个完整运行环境 来帮助改变你的工作方式。
提前给大家一个忠告,我们一直不明白为什么很多人都认为Emacs是一个相当难学 的编辑器.不可否认,Emacs拥有很多功能,不过你永远不会用到全部这些功能。 但是对于其他任何编辑器,不论简单与否都具备相同的基本功能.你既然能学会一 个,那么你也能学会其他的。我们会告诉你标准助记符来帮助你记住各种指令 (例如"C-p表示光标向上移动一行"),但我们真的认为这些不是必要的。他们能 帮助你在初始阶段克服一些困难,但是从长期看并不会有多大的帮助。学习一个 编辑器基本上就是培养手指敲击键盘的习惯:也就是学习为了将光标移动到上一 行手指应该如何移动。如果你已经试用过Emacs并且试着录入了我们的一些例子, 你会很快养成这些手指习惯。忘记骑自行车的可能性还小。使用一两天以后,我 们不假思索就能知道“C-p是光标移动上一行的意思。”同时手指就知道应该移动 到哪儿。一旦你达到这种程度,你就算入门了。使用Emacs会让你变得更富创造 性,你会开始考虑让Emacs的一些功能为你所用。Emacs拥有大量的菜单,但是我 们还是强烈建议你学习常用指令的快捷键。好的手指习惯会让你成为超级打字 员,而且把手从键盘移动到鼠标会降低你的速度。
手指习惯还揭示了阅读本书的另一种方式。理论上讲,在一次阅读后可以理解很 多内容,但是你每天仅能养成几个习惯(除非他们是些坏习惯)。第二章介绍了大 部分日常用到的编辑功能。或许你需要多读几次,但是每次依照不同的重点阅读。 例如:Emacs提供多种向前移动的方式:你可以向前移动一个字符,一个单词,一 行,一个句子,一个段落或者一页等等。所有这些方法都在第二章介绍。开始的 时候学习如何向前向后移动,然后逐步增加更复杂的指令。同样,Emacs提供很多 不同的内容查找功能,这些会在第三章介绍。不要觉得应该一次就把他们掌握; 找一些文件,练习一下,然后再看下一个主题。在你习惯之前,没有人会抱怨你 反反复复地看前三章。把时间花在养成好习惯上是值得的。