对于define-key定义的快捷键,可以删除么?

比如有个 (define-key aaa-mode-map “\C-n” 'goto-line) 定义了n作为goto-line的快捷键,但是我想删掉他,我找了很久,也没有找到类似delete-key的函数。有什么方法可以删掉么?

试试 local-unset-key

define成nil就可以了

(define-key aaa-mode-map “\C-n” nil)
1 个赞

谢谢。你说的是对的。

2、3 楼都是正解,本质上原理相同:把按键定义改成 nil。文档也有明确说明: (elisp) Format of Keymaps

不过这不等同于 Undo define-key 的效果,keymap 依旧会残留按键绑定的记录,不过这应该不重要。