在emacs中为派生模式分配一个键位映射

6
如何在Emacs中为派生模式分配键位映射(我正在使用define-derived-mode函数)。有一个derived-mode-set-keymap函数,但没有示例或良好的文档。
1个回答

7
define-derived-mode会创建一个名为MODE-map的键位图,其中MODE是您刚刚定义的键位图的名称。我不确定derive-mode-set-keymap做了什么,这已经不是用define-derived-mode完成的;查看源代码,它们执行类似的操作,我不确定两者之间的非常低级别的区别(例如,define-derived-mode将父模式的键位图保留为新键位图的父级,而`derive-mode-set-keymap也合并键位图;两者之间的功能差异是什么?)。

如果您执行以下操作:

(define-derived-mode foobar-mode text-mode "foo")

接下来将定义以下变量:

  • foobar-mode-abbrev-table
  • foobar-mode-hook
  • foobar-mode-map
  • foobar-mode-syntax-table

您随后可以自由操纵它们。


谢谢,那很有道理。此外,使用defined-derived-mode的其他Lisp示例现在对我来说更有意义了。 - Mathias Soeken

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接