Emacs,著名的
集成开发环境
和文本编辑器。Emacs被公认为是最受专业程序员喜爱的代码编辑器之一,另外一个
vim
。
EMACS,即Editor MACroS(编辑器宏)的缩写,最初由Richard Stallman(
理查德·马修·斯托曼
)于1975年在MIT协同
Guy Steele
共同完成。这一创意的灵感来源于TECMAC和TMACS,它们是由Guy Steele、Dave Moon、
Richard Greenblatt
、Charles Frankston等人编写的宏
文本编辑器
。
自诞生以来,Emacs演化出了众多分支,其中使用最广泛的两种是:1984年由Richard Stallman发起并由他维护的
GNU Emacs
,以及1991年发起的XEmacs。XEmacs是GNU Emacs的分支,仍保持着相当的
兼容性
。
Emacs使用Emacs Lisp,这种有着极强扩展性的
编程语言
,从而实现了包括编程、编译乃至网络浏览等等功能的扩展。
[1]
Emacs在1970年代诞生于MIT
人工智能实验室
(MIT AI Lab)。在此之前,人工智能实验室的ITS上运行的操作系统
PDP-6
和PDP-10的默认编辑器是一个叫TECO(Text Editor and Corrector)的行编辑器。与现代的
文本编辑器
不同,TECO将击键、编辑和文本显示按照不同的模式进行处理,稍晚出现的vi与它有些类似。在TECO上击键并不会直接将这些字符插入到文档里去,必须先输入一系列相应的TECO指令,而被编辑的文本在输入命令的时候是不会显示在屏幕上的。在如今还在使用的UNIX编辑器ed(ed)上,我们还能看到类似的工作方式。
1970年代初,Richard Stallman访问Stanford AI Lab时见到了那里的"E" editor。这种编辑器有着所见即所得的直观特点,深深打动了Stallman。后来Stallman回到MIT,那时候MIT AI lab的黑客Carl Mikkelsen 已经给TECO加上了称作“Control-R”的编辑
显示模式
,使得屏幕能跟随用户的每次击键刷新显示。Stallman重写了这一模式,使它运行得更有效率,后来又加入了宏,允许用户重新定义运行TECO程序的键位。
这一新版的TECO立刻在AI实验室流行开来,并且很快积累起了大量自定义的宏,这些宏的名字通常就以“MAC”或者“MACS”结尾,意为“宏”(macro)。两年后,Guy Steele承担起统一当时存在的各种键盘命令集的工作。Steele和Stallman经过一夜奋战,最终由Stallman完成了这一任务,包括一套扩展和注释新的宏包的工具。这个完成的系统被称作EMACS,代表“Editing MACroS”。根据Stallman的说法,他采用这个名字是“因为当时<E>在ITS里还没有被当作缩写用过。”("because <E> was not in use as an abbreviation on ITS at the time." )也有说法指出,当时
波士顿
在MIT附近有家名为“Emack & Bolio's”的商店出售的
冰激凌
很受欢迎,Dave Moon是那里的老主顾,他就将ITS上一个给文本排版的程序命名为BOLIO,然而Stallman并不喜欢甚或根本不知道那种冰激凌,此事后来成了黑客界的一桩公案。
[1]
Linux文本编辑器 Emacs
.开源社区网
[引用日期2012-09-08]
[2]
GNU Emacs Manual
.emacs官网
[引用日期2014-09-27]
[3]
用 gnus 收发邮件,阅读新闻组
.