# Emacs

## 为什么学习 Emacs

Emacs 是一个与 Vim 齐名的强大编辑器，事实上 Emacs 几乎具有 Vim 的所有好处，例如：

- 只需要键盘就可以完成所有操作，大量使用快捷键，具有极高的编辑效率。
- 既可以在终端无图形界面的场景下使用，也可使用有图形界面的版本获得更现代、更美观的体验。

此外，Emacs 与其它大部分编辑器最大的不同就在于其强大的扩展性。Emacs 的内核没有对用户做出任何限制，使用 Emacs Lisp 编程语言可以为 Emacs 编写任意逻辑的插件来扩展 Emacs 的功能。经过几十年的积累，Emacs 的插件生态可谓编辑器中最为丰富和强大的生态之一。有一种说法是，“Emacs 表面上是个编辑器，其实是一个操作系统”。只要稍作学习，你也可以编写属于自己的 Emacs 扩展。

Emacs 对 Vim 用户也十分友好，有一个叫 [evil](https://github.com/emacs-evil/evil) 的插件可以让用户在 Emacs 中使用 Vim 的基本操作，只需要很低的迁移成本即可从 Vim 转到 Emacs。曾经有统计显示有相当一部分用户会从 Vim 转到 Emacs，但几乎没有用户从 Emacs 转到 Vim。事实上，Emacs 相对 Vim 最大的不足是纯文本编辑方面不如 Vim 的多模态编辑效率高，但凭借其强大的扩展性，Emacs 可以扬长避短，把 Vim 吸收进来，结合了二者的长处。

## 如何学习 Emacs

与 Vim 相同，Emacs 的学习曲线也比较陡峭，但一旦理解了 Emacs 的使用逻辑，就会爱不释手。然而，网上的 Emacs 资料大多不细致、不够准确，甚至有哗众取宠的嫌疑。

这里给大家推荐一个较新的中文教程[《专业 Emacs 入门》](https://www.zhihu.com/column/c_1440829147212279808)，这篇教程比较系统和全面，且讲述相对比较耐心细致，在讲解 Emacs 基本逻辑的同时也给出了成套的插件推荐，读完后可以获得一个功能完善的、接近 IDE 的 Emacs，因此值得一读。学完教程只是刚刚开始，学会之后要经常使用，在使用中遇到问题勤于搜索和思考，最终才能得心应手。

## 关于键位映射

Emacs 的唯一缺点便是对 Ctrl 键的使用过多，对小手指不是很友好，强烈建议更改 Ctrl 键的键盘映射。更改映射的方式与 [Vim 教程](Vim.md)中的方法相同，这里不做赘述。

