View-mode怎么禁止evil-mode

如题,使用view-mode时不能使用 q 退出,想要disable evil-mode, 使用 (evil-set-initial-state 'view-mode 'emacs) 不能生效,另外怎么在 warnings, commands 等buffer中disable evil-mode

因为 view-modeminor-mode 啊。简单的办法是使用 evil-motion-state (或者 evil-emacs-state):

(add-hook 'view-mode-hook #'evil-motion-state)

试试下面两种方法行不行(未测试) 1 (add-to-list 'evil-overriding-maps '(view-mode-map . nil))

2

    (with-eval-after-load 'view
      (add-to-list 'evil-overriding-maps '(view-mode-map . nil))
      (evil-set-custom-state-maps 'evil-overriding-maps
                                  'evil-pending-overriding-maps
                                  'override-state
                                  'evil-make-overriding-map
                                  evil-overriding-maps))

默认view-mode 在evil-motion-state-modes中,故只有在motion state 下开启view-mode 上面的配置才能override