在minibuffers中禁用paredit

时间:2014-05-15 08:27:56

标签: emacs paredit

我在Emacs 24.3.1中使用starter-kit-lisp,并在许多缓冲区中启用paredit-mode,包括迷你缓冲区。当我正在进行正则表达式搜索时,这非常令人沮丧,因为paredit对正则表达式一无所知并且不允许我在某些地方输入某些字符。 :)

我想为所有迷你版禁用paredit-mode

1 个答案:

答案 0 :(得分:0)

根据Disable company-mode in minibuffer,有一个minibuffer-setup-hook,但使用(remove-hook 'minibuffer-setup-hook 'paredit-mode)似乎不起作用。但是,paredit-mode函数本身采用可选参数,因此可以通过将以下内容添加到paredit-mode来禁用迷你缓冲区中的init.el

(add-hook 'minibuffer-setup-hook (lambda () (paredit-mode 0)))

感谢Magnar Sveen提示!

当然,这有点像黑客。阻止paredit永远被启用会更好。在评论中关注[immerrr]的(https://stackoverflow.com/users/944617/immerrr)建议:

C-h v minibuffer-setup-hook <RET>

minibuffer-setup-hook is a variable defined in `C source code'.
Its value is
((lambda nil
   (paredit-mode 0))
 ido-minibuffer-setup rfn-eshadow-setup-minibuffer minibuffer-history-isearch-setup minibuffer-history-initialize)

我怀疑ido-minibuffer-setup可能是罪魁祸首。我会继续深入研究这个,并在找到有用的东西后更新答案。