[TOOLS] Recommendation for Emacs (#434)
* [TOOLS] Recommendation for Emacs * [TOOLS] Add entry for Emacs * [TRANSLATION] Emacs recommendation
This commit is contained in:
parent
ad55ca142b
commit
e83dda6987
@ -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 的代码托管平台。全世界最大的代码开源社区,大佬集聚地。
|
||||
|
25
docs/必学工具/Emacs.en.md
Normal file
25
docs/必学工具/Emacs.en.md
Normal file
@ -0,0 +1,25 @@
|
||||
# Emacs
|
||||
|
||||
## Why Emacs
|
||||
|
||||
Emacs is a powerful editor as famous as Vim. Emacs has almost all the benefits of Vim, such as:
|
||||
|
||||
- Everything can be done with keyboard only, as there are a large number of shortcuts to improve the efficiency of code editing.
|
||||
- Supporting both graphical and non-graphical interface in various scenarios.
|
||||
|
||||
Besides, the biggest difference between Emacs and most other editors lies in its powerful extensibility. Emacs kernel imposes no restrictions on users behaviors. With Emacs Lisp programming language, users is able to write any plugins to extend the functionality. After decades of development, Emacs' plugin ecosystem is arguably one of the richest and most powerful in the editor world. There is a joke saying that "Emacs is an OS that lacks a decent text editor". Futhermore, you can also write your own Emacs extensions with only a small amount of effort.
|
||||
|
||||
Emacs is friendly to Vim users as there is an extension called [evil](https://github.com/emacs-evil/evil) that migrate Vim operations into Emacs. Users can switch from Vim to Emacs with minimum effort. Statistics show that a considerable number of users would switch from Vim to Emacs, but there were almost no users who would switch from Emacs to Vim. In fact, the only weaknesss of Emacs is that it is not as efficient as Vim in pure text editing because of Vim's multi-modal editing. However, with Emacs' powerful extensibility, it can make up for its weaknesses by combining the strengths of both.
|
||||
|
||||
## How to learn Emacs
|
||||
|
||||
Same as Vim, Emacs also has a steep learning curve. But once you understand the basic underlying logic, you will never live without it.
|
||||
|
||||
There are plenty of tutorials for Emacs. Since Emacs is highly customizable, every user has their own learning path. Here are some good starting points:
|
||||
|
||||
- [This tutorial](https://www.masteringemacs.org/article/beginners-guide-to-emacs) is a brief guide to the basic logic of Emacs.
|
||||
- [Awesome Emacs](https://github.com/emacs-tw/awesome-emacs) lists a large number of useful Emacs packages, utilities, and libraries.
|
||||
|
||||
## Keyboard remapping
|
||||
|
||||
One of the most shortcomings of Emacs is the excessive use of the Ctrl key, which is a burden on your left little finger. It is highly recommended to change the keyboard mapping of the Ctrl key. Please refer to [Vim](Vim.en.md) for details to remapping.
|
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)中的方法相同,这里不做赘述。
|
||||
|
@ -125,6 +125,7 @@ nav:
|
||||
- 必学工具:
|
||||
- 翻墙: "必学工具/翻墙.md"
|
||||
- Vim: "必学工具/Vim.md"
|
||||
- Emacs: "必学工具/Emacs.md"
|
||||
- Git: "必学工具/Git.md"
|
||||
- GitHub: "必学工具/GitHub.md"
|
||||
- "GNU Make": "必学工具/GNU_Make.md"
|
||||
|
Loading…
x
Reference in New Issue
Block a user