在org-agenda view 下禁用evil

我希望在使用org-agenda时禁用evil,每次使用C-z只会在当前起作用,如果我切换了视图比如从月切到天,就会重新打开evil。

我尝试使用了evil-set-initial-state,但是无效,也许是因为org-agenda是一个minor mode 而 evil-set-initial-state是一个major mode。

我找到的解决方法如下,能够确保第一次进入org-agenda时禁用evil,但是和上面一样,如果切换了视图就evil就恢复了。

(add-hook 'org-agenda-mode-hook '(lambda () (if (bound-and-true-p org-agenda-mode) (evil-mode -1) (evil-mode 1))))

是否存在某种方法能确保在org-agenda下一直禁用evil?

evil-set-initial-state

(evil-set-initial-state 'org-agenda-mode 'emacs)

也许你可以看看 GitHub - emacs-evil/evil-collection: A set of keybindings for evil-mode

多谢,我使用evil-org-mode插件找到了合适的方法

遇到 minor-mode 的情况,可以通过

(add-hook 'org-agenda-mode-hook 'evil-normalize-keymaps)
(evil-set-initial-state 'org-agenda-mode 'emacs)
2 个赞