当前位置: 首页 >> 应用软件 >> 文本编辑器 >> Emacs 是什么
 

Emacs 是什么

作者:      来源:     发表时间:2006-02-27     浏览次数:      字号:    

内容摘要 GNU EMACS 是 GNU 计划下的第一个产品, EMACS 为 Editor MACros 的缩写。 Richard Stallman 於 1975 年在 MIT 首次 撰写 EMACS editor。目前 GNU EMACS 已发展到 19.28 版,本文所讨论的 GNU EMACS 也以 19.28 版为主。 GNU EMACS 秉持著 GNU 的精神,它依然是 free 的。任何人都可以 ``anonymous ftp'' 的方式至 prep.ai.mit.edu 这个 site ,取得 GNU EMACS 的原始码。 GNU EMACS 不是 public domain 的产物, 它有版权也有使用上的限制,那就是任何得到它的人都不可以将其视为私有的财产。修改过的 GNU EMACS 也不可以作为商品来牟利,金钱交易的行为是绝对被禁止。

EMACS 有多种版本可适合不同的工作平台(platfrom)。适合 UNIX 环境的有 GNU EMACSUnipress EMACS 以及 CCA EMACS , 其中以 GNU EMACS 最常被使用,本文也只介绍 GNU EMACS。 适合个人电脑的 EMACS FreEMACSMicroEMACS 以及 Epsilon。当然,也有使用在 VMS 环境的版本。

GNU EMACS 是由 C LISP 语言写成,任何人都可依据需要将个人所发展的函式(function)加入 GNU EMACS 上。当然,新发展的软体是不可以从事商业买卖,只能将它无条件的奉献出来。新发展的函式可以直接在 EMACS 中使用,不需重新编译(complie) 整个 EMACS ,而且新增的函式也不会破坏 EMACS 原有的结构。就因为有此特性,EMACS 的函式可以 与日俱增。愿与他人共享成果的使用者,可以透过电子邮件或电子公布栏,将函式的原始码公诸於世。公布的函式,最後会经由 FSF 的审查,以决定是否要加入新版的 EMACS 中。FSF 也鼓励使用者将所发现的错误,透过相同的管道,提供给 FSF 作为改进 之用。GNU EMACS 就是在如此的运作下,靠大家共同的努力来提升品质,以达产品的稳定性。

GNU EMACS 的特质

GNU EMACS 与其说它是一个编辑器(editor),倒不如说它是一个以编辑器为主干的 环境软体。一般的软体都是将编辑器视为一个附属功能,只有 EMACS 以编辑器为基石,在其上发展其它的功能。以收发电子信件的软体为例,电子信件软体是以收发信件为环境的基石。任何电子信件的软体都只有在使用编辑器时,才呼叫相关的编辑器。 EMACS 的出发点就与众不同, EMACS 一切以编辑器为主,任何的功能都是建基在编辑器之上。

所以,进入 EMACS ,就等於是进入了一个编辑环境,这个编辑环境提使用者许多功能,让使用者如置身在一个全功能的作业系统中。 EMACS 自行发展了一个 ``bourne-shell-like'' shell, 除了 EMACS 自己的 shell 外, EMACS 还可以让使用者自行选择所使用的shellEMACS 可以读送 e-mailEMACS 可以透过 ftp 来编辑远方 host 上的档案,而不需要签入(login)档案所在的 hostEMACS 也可做 telnet relogin 的动作。EMACS 也可以读 newsEMACS 也提供了年历(calendar),可以让使用者查阅日期,也可以将重要的事情在年历上标示出来;EMACS 又提供了 ``Diary'' 的功能,当特定的日期与时间到来时,会在萤幕上将 ``Diary'' 上 的事情显示;EMACS 也有撰写文章大纲的功能。 EMACS 更提供多种程式的编译功能,让使用者可以在 EMACS 中一边编辑程式一边编译程式; EMACS 更有自己的 debugger,使程式的除错、 编辑与编译在 EMACS 中同时完成。

所以 EMACS 所提供的不只是一个编辑器而己,它所提供的是一个整合的工作环境,而这个环境是建立在编辑的基石上。它希望使用者进入了 EMACS 以後,可以在 EMACS 的环境中完成 所有的工作,不需要离开 EMACS,要离开 EMACS 就是要离开电脑的 时候(logout)。 EMACS 除了是一个整合的工作环境外,它还具有以下的特性:

EMACS 是一个 display 编辑器,因为每一个被编辑的文字都会
被显示在萤幕上。

EMACS 是一个 real-time 的编辑器,因为当新的文字被键入时,
萤幕会在非常短的时间内被更新。

EMACS 的编辑功能不只具备一般编辑器所有的功能,它还提供
如下的功能: 

EMACS 是一个 Self-documenting的软体,因为在任何时候都 可以 `` Ctrl-h'' 指令来得立即的帮助。因为,透过 `` Ctrl-h'' 可以得知每一个 EMACS 的指令。

EMACS 是可以 Customizable 的。使用者可视个人的需求,来改变 EMACS 指令的定义。GNU EMACS Customization 的设定非常简单,使用者可以很方便的使用它。 EMACS Extensible 的。GNU EMACS 是由 LISP 语言 所写成的函式共同组成的, 函式与函式间的互动关系(dependency)不强。就因为 EMACS 是由函式所组合而成的,所以可以随时将函式作增减而不会破坏 EMACS 既有的结构。 EMACS 也针对 X 的视窗环境,提供自己的选单(menus)和滑鼠按纽(mouse bottons)功能。 EMACS 对於 text-only 的终端机也提供许多与 X 环境相当的服务品质,例如在文字模式的终端机,可以同时开启数个的档案,档案可以互相切换,当使用 shell 模式 来执行 shell 指令的同时也可以编辑档案。但本文的只讨论 text-only EMACS 使用法。 以上的种种就是有关 EMACS 的特色。至於如何使用这些功能就下列章节所要讨论的重点。

责任编辑 webmaster

 
 
 
 
 
评论更多>>
 
 
 
发表
 
姓名: QQ:
性别: MSN:
E-mail: 主页:
评分: 1 2 3 4 5
评论内容:
验证码:
  
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。
  •