如何学习 Emacs Lisp

从零开始上手 Emacs Lisp 的入门概览


开始使用 Emacs

你已经装好了 Emacs,接下来呢?

你可以按C-h t打开教程,从这里开始不失为一个好起点。教程会教你编辑、搜索和在 Emacs 中导航的基础知识。

如果你完全没接触过 Emacs,拿一个入门套件也是不错的选择,它已经预置好了一整套配置和软件包。

Emacs Prelude 这个包提供了一套不错的合理默认配置和软件包。

要安装 Emacs Prelude,在终端中运行以下命令:

curl -L https://github.com/bbatsov/prelude/raw/master/utils/installer.sh | sh

并记得查看安装指南,了解后续步骤。

如果你熟悉 vim,也许会对 Doom Emacs 入门套件感兴趣,它集成了由 evil-mode 驱动的 vim 模拟功能。

要安装 Doom Emacs,在终端中运行以下命令:

git clone --depth 1 https://github.com/doomemacs/doomemacs ~/.emacs.d
~/.emacs.d/bin/doom install

并记得查看安装指南,了解后续步骤。

配置语法检查和代码检查

推荐使用 Flycheck 来配置语法检查和代码检查。

如果你的 Emacs 还没有添加 MELPA 仓库,可以把以下内容加入你的初始化文件:

(require 'package)

(add-to-list 'package-archives
             '("MELPA Stable" . "https://stable.melpa.org/packages/") t)
(package-initialize)
(package-refresh-contents)

不使用 use-package 时,安装并配置 Flycheck 的方法是,在初始化文件中加入以下内容:

(package-install 'flycheck)
(add-hook 'after-init-hook #'global-flycheck-mode)

使用 use-package 时,安装并配置 Flycheck 的方法是,在初始化文件中加入以下内容:

(use-package flycheck
  :ensure t
  :init (global-flycheck-mode))

更多信息和故障排查,请查看 Flycheck 文档。

学习 Emacs Lisp

关于 Emacs Lisp 最好的文档……其实就随 Emacs 一起提供!

要访问 Emacs Lisp Reference,输入C-h i找到 Elisp 条目,或者选择 Help → More Manuals → Emacs Lisp Reference。注意,有些发行版可能没有附带这份手册,这种情况下你可以在网上找到它。

如果你刚接触 Elisp,可以读一读 Emacs Lisp 入门,它的打开方式与上面相同。

Emacs Lisp 最佳实践与约定

Emacs 手册中有一节专门讲 Emacs Lisp 的编码约定。GitHub 上还有一份社区维护的风格指南。