Emacs 是什么?

虽然 vi 和它的克隆版本都是功能强大的编辑器,但是它们并没有很好的可扩展性。不过 vim 倒是个例外,vim 由 vi 发展而来,兼具了可扩展性和 vi 的灵活轻盈。尽管有了 vim,可很多用户还是喜欢更“重量级”,可扩展性更强的编辑器,他们选择了 Emacs。

Emacs 的可扩展性突破天际。除了最底层用 C 语言写成,Emacs 的其他部分都是用一种解释型的 Lisp 语言写的。这么做的结果就是 Emacs 的一切都可以由你来控制,你可以配置它,更可以随心所欲的扩展它(在网上能找到很多优秀的 Emacs 教程)。人们写了各种各样的用来扩展 Emacs 的 Emacs Lisp 程序,从某种稀奇古怪语言的语法高亮,到内建一个终端,应有尽有。你一定想不到,Emacs 里甚至有一个模拟 vi 的模式(叫做 viper),所以你可以在使用 vi 编辑模式的同时,获得 Emacs 的力量。

与 vi 相同的是,Emacs 也有很多版本(不妨叫它们“emacsen”),不过最常用的版本还是 GNU Emacs(Slackware 只包含了这一版)。当人们提到“Emacs”时,几乎总是在说 GNU Emacs。

与 vi 不同的是,Emacs 默认状态下更像一个传统的编辑器,也就是说不必为了使用快捷键而去一遍又一遍地切换模式。在 vi 中为了编辑文件,你必须学习每个模式都是干什么的,编辑时还要记住你当前处于什么模式,而在 Emacs 中,你要做的就是打开文件,开始编辑。

最后更新于