我想在组织模式下删除有关“C-j”的键绑定,然后我使用“local-key-unset”来执行此操作,但是当我进入组织模式时,键绑定没有被删除。
我的代码如下:
(add-hook 'org-mode-hook #'(lambda () (local-unset-key (kdb "C-j"))))
org-mode-hook
值为
Value: ((lambda nil (local-unset-key (kdb "C-j"))) #[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-fold-show-all append local] 5] #[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-babel-show-result-all append local] 5] org-babel-result-hide-spec org-babel-hide-all-hashes #[0 "\301\211\207" [imenu-create-index-function org-imenu-get-tree] 2] (lambda nil (progn (company-mode -1) (company-box-mode -1))) (lambda nil (set (make-local-variable 'line-spacing) 0.5)) (lambda nil (keymap-local-set (kbd "C-z") 'shell)))
在组织模式下,我使用
C-h k
查找 C-j
绑定,其结果:
C-j runs the command org-return-and-maybe-indent (found in
org-mode-map)
我尝试用
C-j
来代替C-x
,我使用这个代码
(global-set-key (kbd "C-j") ctl-x-map)
效果非常好。但是当处于组织模式时,它似乎被主要的组织模式映射所掩盖。我希望我可以删除
C-j
以消除它的阴影。
您将函数
kbd
命名错误,如 kdb
:
(add-hook 'org-mode-hook #'(lambda () (local-unset-key (kdb "C-j"))))
当调用钩子函数时,它实际上会引发错误,如下所示:
File mode specification error: (void-function kdb)
当钩子函数引发错误时,它会从钩子中删除,因此您只会在第一次看到此错误。
将
kdb
替换为 kbd
,然后重试。