GNU emacs 24.x:使用 BufferSelection 包的缓冲区选择菜单时关闭邪恶模式

GNU emacs 24.x: Turn off evil-mode when using buffer selection menu of BufferSelection package

我正在通过映射使用 bs-show 函数:

(global-set-key (kbd "C-x C-b") 'bs-show)

然而,因为我也使用 evil-mode 我发现单键命令不起作用,直到我从正常 ("N") 模式切换到 emacs ("E") 模式在 evil each时间我 运行 bs-show 功能。如何永久禁用 BufferSelection 菜单中的邪恶模式?

与其完全禁用 evil-mode,也许你可以在 Emacs 模式下为 bs-mode 设置 evil start,如下所示:

(evil-set-initial-state 'bs-mode 'emacs)

如果你确实希望 bs-mode(我仍然更喜欢所有新东西)是 vim/evil 就像我发现这个 person's configuration 工作顺利:

; BS-menu
(defadvice bs-mode (before bs-mode-override-keybindings activate)
  ;; use the standard bs bindings as a base
  (evil-make-overriding-map bs-mode-map 'normal t)
  (evil-define-key 'normal bs-mode-map "h" 'evil-backward-char)
  (evil-define-key 'normal bs-mode-map "q" 'bs-abort)
  (evil-define-key 'normal bs-mode-map "j" 'bs-down)
  (evil-define-key 'normal bs-mode-map "k" 'bs-up)
  (evil-define-key 'normal bs-mode-map "l" 'evil-forward-char)
  (evil-define-key 'normal bs-mode-map "RET" 'bs-select))