我正在研究 bash 和 emacs 快捷方式之间的关系。有人告诉我,它们之所以相似是因为 bash 使用 emacs 作为其命令行解释器。然而,我还没有找到任何支持这一论点的证据。
我知道 bash 中有“编辑模式”,其中之一是 emacs。但是,命令行解释器真的是在 emacs 上实现的吗?
请注意,我指的是实际的实现,而不是它们之间的相似之处。
答案1
最简洁的答案是不”。bash
的命令行处理主要是在bashline.c
及其副本readline
,它支持vi
类似和类似 Emacs 的行为。 Emacs 本身主要是用 Emacs Lisp 编写的;使用它来实现bash
会非常复杂,因为 Emacs Lisp 并不是设计为在没有 Emacs 的情况下使用的。