安装Emacs

Table of Contents

最新更新:2018-12-16

我们平时说“Emacs”通常指的是“GNU Emacs”(后面说的“Emacs”,匀指的是“GNU Emacs”);除了 GNU Emacs 外,还有很多其他的实现,如 XEmacs、UEmacs(Linus Torvalds 就在用)等等。当前活跃度最高的是 GNU Emacs,代码几乎每天都在更新,邮件列表也相当活跃,插件也很丰富。

1 Emacs 运行模式

Emacs 可运行在两种模式下:

  • 图形化
  • 终端(No window system)

至于哪个更好?

看你自己喜好。图形化版本可以显示图片、有更丰富的字体样式以及能鼠标操作。如果安装了图形化界面的版本,要以 no window 的方式运行,可以加参数 -nw

$ emacs -nw

2 包管理器安装 Emacs

大多数 Linux 发行版都可以通过自带的包管理器安装,如 Fedora 的 dnf:

$ sudo dnf install emacs

以及 Ubuntu/Debian 的 apt-get:

$ sudo apt-get install emacs

请注意,一些 Linux 发行版的源中默认版本比较老,您可以升级系统,或者编译最新的 Emacs(后面会讲到)。

从源中安装的 Emacs 是稳定版,如果你始终想尝试最新版的 Emacs,不必下载源码编译,https://launchpad.net/~ubuntu-elisp维护了一个最新版本 Emacs 的快照,号称每日更新,直接把源添加到系统中:

$ sudo add-apt-repository ppa:ubuntu-elisp/ppa
$ sudo apt-get update

然后安装:

$ sudo apt-get install emacs-snapshot-nox

针对老版本的系统,我的建议如下:

  1. 如果是桌面版的系统,请升级到新版本
  2. 如果是 server 版,请手动编译

2.1 其他操作系统

Windows 系统用户请直接从http://ftp.gnu.org/gnu/emacs/windows/ 下载压缩包,解压后运行 Emacs 即可。

在 Mac OS 中有两个不错的选择:

  1. Aqumacs,官网:http://aquamacs.org/
  2. Emacs For Mac OS X,官网:http://emacsformacosx.com/

它们都是基于 GNU Emacs。

3 手动编译 Emacs

如果想成为 Emacs 贡献者,或是想尝试上游开发的新功能,又或是软件源里的 Emacs 版本太老,就需要手动编译 Emacs。

可以去http://ftp.gnu.org/gnu/emacs下载一份Emacs源码并解压到目录中。

也可以从 Git 仓库中http://savannah.gnu.org/git/?group=emacs可以获取源码(2014 年之后,Emacs 已迁移到 Git 上)。

如果想用最新的源码来编译,可以从主分支 clone 一份源码到本地:

$ git clone git://git.savannah.gnu.org/emacs.git

推荐指定 Emacs 版本对应的分支 clone,比如 Emacs 26 的分支名为 emacs-26:

$ git clone git://git.sv.gnu.org/emacs.git -b emacs-26

下载完源码后进入 Emacs 源码目录,依次运行:

$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

执行 configure 时可能会提示缺少一些库,视系统情况而不同,所以请自行用包管理器安装缺失库,如 Fedora 可执行:

$ sudo dnf builddep emacs

4 FAQ

Q:编译 Emacs 时,如何将编译器指定为 Clang?

A:编译前执行 export CC=clang

Q:编译从 Git 仓库 clone 下的代码后,下次如何更新?

A:按以下步骤进行:

a) 执行 git pull 更新本地仓库的源码

b) 执行 make 编译

c) 执行 make install 之前,先执行 make uninstall 卸载系统中之前编译的老版本

d) 最后执行 make install

Q:想看看当前版本 Emacs 有哪些特性

A:C-h n