(转载)不完全解读 Emacs 编辑器—自由软件的旗舰

转载:不完全解读 Emacs 编辑器自由软件的旗舰

L-Emacs 2008-11-17 21:41:10 阅读45 评论0   字号:大中 订阅

作者: texnician@dRL

希望本文能指引你进入Emacs的神奇世界

基本介绍
1. Emacs
是什么东西?

Emacs
名字的正式由来是"Editing Macros"的简称,即宏编辑器,当然这个
和臭名昭著的宏病毒没有半点关系。也有一种说法是rms(Emacs的作者)最喜欢的
一家冰淇淋店的名字。经过将近20年的发展, Emacs的功能不断的增强,现在更通用
的说法是"Emacs is the extensible, customizable, self-documenting real-time
display editor"


也许你早就从网上,朋友或者某个讨厌的Emacs fake zealot(比如我)那里听说过有
"Emacs"的东西。也许你一直以为Emacs是来自遥远的*nix世界的魔鬼,而对它
畏而远之,但实际上,Emacs是一个真正的跨平台软件,在最大限度上保证了平台无关
性,即使是在Windows下,也表现的非常出色,实际上我现在就是在Windows下写这篇
文档。应广大用户的要求,微软 Visual Studio .Net 2005 beta版中已经实现了简
单的模拟Emacs编辑模式,也许在正式版中会得到进一步的加强。

2. Emacs
能做什么?

顾名思义,Emacs本职工作是编辑文本。这里的文本包括的 范围就很大了,像
我现在写的这样简单的纯文本,更主要是用来编辑各种程序的源代码,比如C, C++,
C#, Perl, Python, html, php, lisp, matlab, tex....
Emacs的强大体现在它的人
性化,和智能化。比如不管在哪种语言模式下,都可以用 M-e, M-a 移动一句话,
M-{ M-}
移动一个段落,C-M-f, C-M-b 在平级的语法结构中移动,C-M-a C-M-e 在语
句块中前后移动,等等等等。你不需要去记住每个模式的操作方式,因为它们是如此
的一致,Emacs通常会很聪明的识别不同模式下各种语法结构的意义, 在任何模式
C-M-/ 都会把一段代码排版的整整齐齐, M-; 可以插入一条注释并缩进到正确的地
方。

Emacs编辑代码,可以实现语法加亮,折叠,隐藏,大纲模式,自动补全等基本功能
,可以直接调用编译器和调试器来编译,调试程序,可以直接把网页代码送到浏览器
中预览,可以把Emacs当成一个代码浏览器。关于Emacs编写程序方面的扩展实在是太
多了,由于我水平很菜,也没接触过很多,总之当你有自己的需求的时候,直接去网
上找,Emacs很少会让你失望的。

除了被用来编辑文本,Emacs也越来越多的被用来做其它事情,而且往往做得非常出色
dired 模式被用来作为文件管理器, 其功能比起同样出色的Total Commander可一
点都不弱。Gnus是访问新闻组和接收邮件的利器,实现了专业级别的 Mail Client
能,Gnus FAQ 中这样写道 "不要再问我能xxxx?’之类的问题,因为你得到
的答案通常都是 ‘Yes’"。当然有点夸张了, 因为对于某些"私有"的东西,Gnus 支持
的并不好,比如微软的 hotmail

Emacs
还可以被用来作为很多程序的前端,比如 mysql 数据库, Matlab 软件, 各种
Scheme
解释器。

Emacs
还有一大堆乱七八糟的功能,Emacs的日历,能支持中国的历法,天干地支
都支持,还能根据你所在地方的经度纬度计算日出日落时间。配合Emacs日历,可以写
日记,约会提醒等等和日程相关的事情。你要是想用Emacs做计算器,查字典,聊天,
播放mp3,使用p2p下载软件,这些也不是不可以。

3.
为什么要用Emacs

看了前面一大堆功能(虽然不及Emacs实际功能的1%),你可能会说你丫是不是有毛
病,这些功能都有专门的软件去实现。你说的没错。当然每个人都有自己的选择习
惯。但是我的感觉是,Emacs不仅仅是能实现这些功能,关键是实现的往往非常出色,
不逊色于专有的软件。而且在Emacs中做这些事情,有一个统一的工作环境,不需要去
熟悉各种软件的操作习惯,在Emacs中你会发现许多看似毫不相关的软件功能,在
Emacs
中变得如此相似,我觉得这种感觉很美妙:P

Emacs
是一个“free software”,这里的“free”是指“freedom”,而不是免费
的意思。当然对个人用户来说,获得Emacs通常都是免费的。你永远不会担心新版本
的完美破解怎么还没出来?”“升级到新版本,key又失效了这个软件要是再便
宜一点我就能注册了”,“这个软件的作者真不厚道,老的注册用户都不能免费升级了
之类的问题。Emacs属于所有人,它是完全自由的,你可以自由的修改它以实现你需
要的功能,可以自由的和别人分享你修改后的代码,当然这一切都要遵循GPL

4. Emacs
与其它编辑器相比有什么优点?

这个问题我没办法回答,因为我不敢对我不怎么了解的东西妄加评论。尤其是在 et8
这藏龙卧虎的地方(我想你们也一样吧?)。我只能说Emacs 开放的 C+elisp 架构使
其具有几乎无限的扩展性,在扩展性方面,是当之无愧的 No.1. 如果你看到其它某种
编辑器有个很酷的功能,不用怀疑,Emacs 可以实现它,如果你足够强,可以自己动
手或者向某个你熟悉 elisp 高手求助。 总之,没有什么作为一个编辑器应该具有的
功能是 Emacs 实现不了的


5. Emacs
与其它编辑器相比有什么缺点?

这个我倒可以说说:P。首先,用 Emacs 会上瘾,在一个没有 Emacs 的机器上,你会
无精打采,没有工作的热情。如果你失去了自己的配置文件,你会变得痛苦万分,因
为重新把 Emacs 配置一遍是很要花一番功夫的(除了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值