Emacs 的正确之处,或者说我希望现代应用程序更像 50 年前的文本编辑器
内容提要
Emacs是一个有着50年历史的文本编辑器,以命令为中心,几乎所有操作都是命令。它的热键可编辑,编写脚本简单实用。Emacs完全面向键盘,没有任何操作无法通过键盘完成。现代应用程序可以学习Emacs的命令中心架构。
延伸解读
命令中心架构的实用优势
Emacs 将所有操作统一为命令,包括光标移动等基础交互。这种设计让热键映射变得简单,因为只需维护命令与按键的查找表。用户可自由更改热键,且任何命令都能通过 M-x 调用,避免了现代应用中热键不可更改的挫败感。
脚本扩展的低门槛
Emacs 的脚本编写无需复杂环境,用户通过组合现有命令即可创建新命令。describe-key 命令能显示热键对应的命令,帮助用户快速定制。例如,作者用几行 Elisp 实现了插入 TODO 注释的功能,并绑定到热键日常使用。
键盘优先的操作哲学
Emacs 完全面向键盘,所有操作都能通过键盘完成,图形界面只是次要的触发方式。这种键盘优先的设计带来了无与伦比的流畅性,用户无需在键盘和鼠标间切换,也增强了对操作可行性的信任。
现代应用可借鉴的方向
现代应用若已有命令调板,则接近命令中心架构。电子和网络应用可利用开发者控制台暴露 API,让用户编写脚本定制功能。例如,在 Slack 中通过 JavaScript 实现快速反应、修改热键或自动化流程,提升效率。
Q&A
Emacs的主要特点是什么?
Emacs是一个以命令为中心的文本编辑器,几乎所有操作都是通过命令完成的,且热键可编辑。
为什么Emacs的热键可编辑性重要?
Emacs的热键可编辑性使用户能够根据个人需求自定义热键,避免了常见的挫败感。
如何在Emacs中编写自定义命令?
在Emacs中,用户可以通过编写新命令并将其绑定到热键来创建自定义命令,通常使用Elisp语言。
Emacs如何实现100%键盘操作?
Emacs的每一项操作都可以通过键盘完成,鼠标操作只是触发命令的辅助方式。
现代应用程序可以从Emacs中学到什么?
现代应用程序可以借鉴Emacs的命令中心架构,提升用户体验,尤其是在命令调板的实现上。
Emacs的命令调板与现代应用的命令调板有什么不同?
Emacs的命令调板更为全面,几乎所有操作都是命令,而现代应用的命令调板通常只列出部分可用命令。