mirror of
https://github.com/PKUFlyingPig/cs-self-learning.git
synced 2026-06-23 18:06:56 +08:00
[TOOLS] Recommendation for Emacs
This commit is contained in:
parent
ad55ca142b
commit
b04487794b
2 changed files with 25 additions and 0 deletions
|
|
@ -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 的代码托管平台。全世界最大的代码开源社区,大佬集聚地。
|
||||
|
|
|
|||
23
docs/必学工具/Emacs.md
Normal file
23
docs/必学工具/Emacs.md
Normal file
|
|
@ -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)中的方法相同,这里不做赘述。
|
||||
|
||||
Loading…
Reference in a new issue