From b04487794b370b2e69fb9a8091ef2d55c9dd51e8 Mon Sep 17 00:00:00 2001 From: Pavinberg Date: Tue, 11 Apr 2023 00:14:12 +0800 Subject: [PATCH] [TOOLS] Recommendation for Emacs --- docs/CS学习规划.md | 2 ++ docs/必学工具/Emacs.md | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 docs/必学工具/Emacs.md diff --git a/docs/CS学习规划.md b/docs/CS学习规划.md index 78768fb7..e404e83e 100644 --- a/docs/CS学习规划.md +++ b/docs/CS学习规划.md @@ -20,6 +20,8 @@ IDE (Integrated Development Environment):集成开发环境,说白了就是 [Vim](必学工具/Vim.md):一款命令行编辑工具。这是一个学习曲线有些陡峭的编辑器,不过学会它我觉得是非常有必要的,因为它将极大地提高你的开发效率。现在绝大多数 IDE 也都支持 Vim 插件,让你在享受现代开发环境的同时保留极客的炫酷(yue)。 +[Emacs](必学工具/Emacs.md):与 Vim 齐名的经典编辑器,同样具有极高的开发效率,同时具有更为强大的扩展性,它既可以配置为一个轻量编辑器,也可以扩展成一个个人定制的 IDE,甚至可以有更多奇技淫巧。 + [Git](必学工具/Git.md):一款代码版本控制工具。Git的学习曲线可能更为陡峭,但出自 Linux 之父 Linus 之手的 Git 绝对是每个学 CS 的童鞋必须掌握的神器之一。 [GitHub](必学工具/GitHub.md):基于 Git 的代码托管平台。全世界最大的代码开源社区,大佬集聚地。 diff --git a/docs/必学工具/Emacs.md b/docs/必学工具/Emacs.md new file mode 100644 index 00000000..ab4807d8 --- /dev/null +++ b/docs/必学工具/Emacs.md @@ -0,0 +1,23 @@ +# 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)中的方法相同,这里不做赘述。 +