在emacs中取消设置键绑定

时间:2012-12-20 05:37:44

标签: emacs elisp emmet

例如,在禅编码中,“C-j”会影响“C-j”(newline-and-indent)的正常行为

(define-key zencoding-mode-keymap (kbd "C-j") 'zencoding-expand-line)

然后,如何取消设置此键绑定并再次使用C-j {/ 1}}?

我试过这个,但它不起作用:

newline-and-indent

有没有人有这方面的想法?

1 个答案:

答案 0 :(得分:37)

取消绑定键(对于任何键映射)的一般方法是定义nil的绑定:

(define-key KEYMAP KEY nil)

为方便起见,还有两个标准函数用于从全局键映射和本地键映射(通常 主模式的键映射)解除绑定。

  • (global-unset-key KEY)
  • (local-unset-key KEY)

这些是互动命令,根据各自的补充global-set-keylocal-set-key

至于你的具体例子,你可能想要这样的东西:

(eval-after-load "zencoding-mode"
  '(define-key zencoding-mode-keymap (kbd "C-j") nil))