如何在 evilify map 中取消 evil 的 "v" 快捷键

今天装了 org layer,发现在 org-agenda-mode 里,vm 快捷键不可用了,原因是 org-agenda-mode 被 evilify 了,打开 org-layer 搜索了一下,果然,发现如下代码:

(evilified-state-evilify-map org-agenda-mode-map
      :mode org-agenda-mode
      :bindings
      "j" 'org-agenda-next-line
      "k" 'org-agenda-previous-line
      (kbd "M-j") 'org-agenda-next-item
      (kbd "M-k") 'org-agenda-previous-item
      (kbd "M-h") 'org-agenda-earlier
      (kbd "M-l") 'org-agenda-later
      (kbd "gd") 'org-agenda-toggle-time-grid
      (kbd "gr") 'org-agenda-redo
      (kbd "M-RET") 'org-agenda-show-and-scroll-up
      (kbd "M-SPC") 'spacemacs/org-agenda-transient-state/body
      (kbd "s-M-SPC") 'spacemacs/org-agenda-transient-state/body)

这样的话,导致了不能使用 v 开头的快捷键了。哪位大神知道如何取消掉在 org-agenda-mode 的 evilified-mode 下的 v 绑定,evil 的 v 绑定的是 evil-visual-char function。

临时解决方案: 重新绑定了 evilified 下的 “d” 为 'org-agenda-view-mode-dispatch

add:晚上看到了 org-layer 设置了 C-v 替代 org-agenda-view-mode-dispatch,我已经把绑定的 d 删除了。

(evil-define-key 'evilified org-agenda-mode-map (kbd "v") nil)试试?
不过你贴的代码里并没有v键的绑定啊。

你这句代码放哪里合适?

“v” 的设置是在 evil-evilified-state.el 里面设置的:

(define-key evil-evilified-state-map "v" 'evil-visual-char)

我把你方法在 post-config 里面无效,暂时先用 “d” 吧。

c-c++ layer realgud 的evilified 鍵也特別怪 C-C++ layer cleanup · Issue #10143 · syl20bnr/spacemacs · GitHub

(evilified-state-evilify-map realgud:shortkey-mode-map
        :eval-after-load realgud
        :mode realgud-short-key-mode
        :bindings
        "s" 'realgud:cmd-next
        "i" 'realgud:cmd-step
        "b" 'realgud:cmd-break
        "B" 'realgud:cmd-clear
        "o" 'realgud:cmd-finish
        "c" 'realgud:cmd-continue
        "e" 'realgud:cmd-eval
        "r" 'realgud:cmd-restart
        "q" 'realgud:cmd-quit
        "S" 'realgud-window-cmd-undisturb-src)