Emacs 的 优 点
1. 首先, Emacs 是“跨平台”的。大部分操作系 统 ( UNIX 、 windows )都有相 应 的 Emacs 。所以不用担心 换 了 开发 平台后又要重新学 习 一 种 新的 编辑 器。而且 许 多操作系 统 默 认 就安装了 Emacs 。
2. Emacs 的文本 编辑 功能十分 强 大,特 别 是 对编 程的支持,感 觉 十分 贴 心。 毕 竟 Emacs 是程序 员开发 的,程序 员 最清楚哪些功能能帮助程序 员编 程。
3. Emacs 高度可定制。 这给 我 们 充分的自由。当然如果不愿(或 暂时 不会)定制,完全可以用默 认 的配置。
4. Emacs 高度可 扩 展,而且各 种扩 展的 风 格 统 一。据 说 Emacs 的 设计 使得它十分易于 扩 展。 设计 上的 问题 我不清楚,但是从用 户 的角度来看, Emacs 安装插件确 实 很方便而且插件也确 实 很多。尤其是 对 与程序 开发 工具的集成(如 gcc , cscope 等)提供了极大的方便。 经过 配置, Emacs 简 直就是一个 IDE 。
5. Emacs 提供 图 形的交互界面,但同 时 又 彻 底支持命令行模式,用 户仅 用 键盘 就可以 实现 所有的操作。 键盘 比鼠 标 方便?很多 时 候是 这样 的,要不然 为 什 么 快捷 键 叫 “快捷” 键 。
* EDIFF
Ediff 是Emacs集成的比 较 与合并( merge )文本文件内容的工具。 有了它,你可以方便地比 较 两个(或三个)不同文件、文件 夹 。 较 其它比 较 工具而言,它的特点是它与 编辑 器(即 Emacs 本身)集成在一起,所以在比 较 的 过 程可以方便的 编辑 被比 较 的文件。例如 语 法高亮仍然有效。
它 还 提供了 对 版本控制工具的支持,例如用 ediff-revision 命令可以方便的比 较 不同版本之 间 的区 别 。
* CVS 与 VSS
Ediff 的一个重要用 处 就是 为 版本控制提供帮助。 Emacs 自 带 了 CVS 等 传统 版本控制工具的接口,使用 这 些接口可以非常方便地 调 用 CVS 等。比直接在命令行使用 CVS 方便多了。
如果使用微 软 的 VSS ,安装一个名叫“ source-safe ”的插件就行了。
* Dired
在命令行模式下, 删 除、拷 贝 、重命名等文件操作有 时 是件挺麻 烦 的事情。常常需要 键 入了一 长 串的路径和文件名;在命令 执 行后才 发现 命令写 错 了。如果 还 和我一 样总记 不住路径的 话 就更麻 烦 了。
在 Dired 模式你可以方便的 进 行 单 个或批量文件操作:新建、 删 除、 查 看、 复 制、重命名、 查 找(包含某字符串、正 则 式的文件)等。
* Eshell
Eshell 是用Emacs的 专 用 语 言 elisp 实现 的 shell 。启 动 后它内嵌在 Emacs 中。因 为这 个特点,它可以充分利用 Emacs 的 资 源,好 处 真是妙不可言呀,只能 说 “ 谁 用 谁 知道 ”。
* Cscope
Emacs 还 有 cscope 的接口。利用 该 接口,你可以在 编码 的 过 程中随 时 使用 cscope 查 找函数、 变 量等等。同 样 ,比直接在命令行使用 cscope
* GCC 、 GDB 、 CC 、 DBX
Emacs 内置以上四 种编译 器、 调试 器的接口,呈献 给 用 户 一个可 视 化的 编译 、 调试环 境。无 论 是 编译还 是 调试时 都可以方便的定位到想看的源 码 上。
* Speedbar
Emacs 内置的工具, 类 似于 IDE 中常 见 的 浏览 窗口。也是 ECB 的基 础 之一。
* Color-theme
前面已 经 提到 过 了。 Emacs 是高度可配置的,所以你可以定制 语 法高亮的 颜 色搭配。 但是我 这样 缺乏美 术细 胞的人是不可能配出好看的 语 法高亮来的。幸好有 热 心人写了插件 color-theme 。它提供了很多配色方案,肯定有一款合你的意。我 选 的是 gnome2 。
* Tabbar
有了 tabbar , Emacs 会将所有打 开 的文件以 tab 页 的形式 显 示出来(就像 ultra-edit 那 样 )。
* ECB
全称是Emacs code browser,安装之前要先安装cedet。我 认为 它是 speedbar 的升 级 品,看上去很花。但老 实说 ,我 觉 得熟悉 Emacs 后,它的用 处 不大。 刚开 始用 Emacs 时 有它可能会 觉 得方便些。
* Ange-FTP 、emacsclient、gnuclient
Ange-ftp 让 你能 够 方便的 编辑远 程 ftp 服 务 器上的文件(和 Ultra editor 的功能一 样 )。
Emacsclient 和gnuclient使得Emacs成 为 一个文本 编辑 的 server ,可以方便快速地将 编辑 文本的工作 转 到 Emacs 上。 本人表达能力有限,没用 过 Emacs 的人可能不知 这 句 话 所云,否 则 就知道 这 是一个很好的功能。
* WOMAN
Emacs 集成的看man page的工具,比MAN(unix自 带 的工具)要方便。 WOMAN ( 对应 于 MAN ) 这 个名字体 现 了大牛 们 的幽默,全称是 With Out Man 。
* VisEmacs
用 惯 了 Emacs 后,也 许 就会和我一 样 无法忍受 VC 的代 码编辑 器了。不得不用 VC 开发 windows 的程序 时 , VisEmacs 可以减 轻 我 们 的痛苦。 给 VC 装上 这 个插件后, 编辑 界面没有任何不同,但是 编辑 代 码时 就会自 动转 到 Emacs 。
如何学 习
以上 说 了 这么 多,也 许 你会 关 心要花多大代价才能全部掌握。确 实 ,要体 验 Emacs 的 强 大需要花些 时间 ,但是 绝对 不需要花很多 时间 。当然啦,如果你愿意,你可以持 续 的投入 时间 ,从 Emacs 持 续 的得到回 报 。曾 经 ,我一度把看 Emacs 手册作 为 放松,因 为每 次看都能学到一些 让 我 happy 的新技巧。
Emacs 入 门 只需要也 * 必 须 * 要学 习 Emacs 的一些基本概念。 这 大 约 需要一个小 时 左右。 Emacs 自 带 的手册使用很方便,也写得很好(再次向 Emacs 及其手册的作者 们 致敬)。启 动 Emacs 后可以用鼠 标 从菜 单栏 打 开 手册。搞清楚 buffer 、 mode 、 kill ring 、 undo ring 、 region 、 ctrl 键 、 meta 键 等概念就算会用 Emacs 了。如果你是 Viper ( 习惯 使用 vi 的人),你也 许 会需要一些 时间 来适 应 。需要提醒的是: Emacs 启 动 相 对较 慢而且 设计 Emacs 时设 想的 应 用就是同 时编辑 多个文件。所以一般只需也 应该 只启 动 一个 Emacs 进 程才能充分利用 Emacs 的好 处 。我 现 在的工作 场 景是: 每 天早上一上班就 远 程登 录 到 Solaris 服 务 器上,然后启 动 Emacs ;接下来所有的工作都通 过 Emacs 完成,登 录 shell 的作用几乎只是用来启 动 Emacs ;下班 时 ,退出 Emacs 关 机走人。
资 源
www.gnu.org
GNU 的老 巢 ,也是 Emacs 的官方网站。
www.emacswiki.org 大量的Emacs
资 源。很多牛人也在上面,或 许 回答你 问题 的就是 Emacs 的 开发 者呢。
www.linuxforum.net
中国linux 论坛 。里面有个 专门 的 Emacs 版。 Emacs 使用中遇到 问题 可以到 这 来 查 、来 问 。