有一个 emacs 扩展可以将键构建到非常不方便的位置,我在加载扩展后在我的 .emacs 文件中重新分配键绑定。我已经查看了扩展代码,它不使用可能在加载之前传递的变量或定义自定义。
我首先禁用现有绑定(define-key ... nil)
,然后重新绑定它们。
问题是所有前缀绑定链仍然存在并污染了我的键盘设置。
如何递归删除所有空(未注册子项)前缀键?
用例子更新
假设map
是一个空的稀疏键映射。
(define-key map (kbd "C-c M-p b") 'do-first)
(define-key map (kbd "C-c M-p b f g") 'do-second)
(define-key map (kbd "C-c M-p b r s") 'do-third)
(define-key map (kbd "C-c M-p b r s") nil)
(define-key map (kbd "C-c M-p b f g") nil)
(define-key map (kbd "C-c M-p b") nil)
之后,我想使用某种功能,例如(clean-map map)
再次map
清空。