繁体   English   中英

在emacs中取消设置键绑定

[英]Unset key binding in emacs

例如,在zen编码的代码中,“Cj”隐藏了“Cj”的正常行为( newline-and-indent

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

然后,我如何取消设置此键绑定并再次使用Cj进行newline-and-indent

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

(add-hook 'html-mode-hook
          (lambda ()
            (progn
              (zencoding-mode)
              (local-set-key (kbd "C-j") 'newline-and-indent))))

有没有人有这个想法?

取消绑定键(对于任何键映射)的一般方法是定义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))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM