Emacs:为所有Lisp缓冲区禁用特定的次要模式

时间:2015-01-19 13:46:58

标签: emacs lisp elisp evil-mode paredit

我希望通过禁用前者用于后者处于活动状态的缓冲区来避免evil-modeparedit之间的冲突。

以下代码不起作用:

(add-hook 'emacs-lisp-mode-hook 'turn-off-evil-mode)
(add-hook 'lisp-mode-hook 'turn-off-evil-mode)
(add-hook 'lisp-interaction-mode-hook 'turn-off-evil-mode)
(add-hook 'inferior-lisp-mode-hook 'turn-off-evil-mode)
(add-hook 'clojure-mode-hook 'turn-off-evil-mode)
(add-hook 'scheme-mode-hook 'turn-off-evil-mode)
(add-hook 'ielm-mode-hook 'turn-off-evil-mode)
(add-hook 'eval-expression-minibuffer-setup-hook 'turn-off-evil-mode)

换句话说,如何为所有Lisp缓冲区自动禁用邪恶模式?

1 个答案:

答案 0 :(得分:3)

你可以建议paredit-mode

(defadvice paredit-mode (around paredit-disable-evil activate)
  (if paredit-mode
      ad-do-it
    (turn-off-evil-mode)
    ad-do-it))

另外,你试过lispy吗?这是我的 受到vi启发的Paredit式套装。它有更多的功能 Paredit,就像内联评估,区域操纵和轮廓一样。