2

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

我想禁用paredit-mode所有迷你缓冲区。

4

1 回答 1

0

根据在 minibuffer 中禁用公司模式,有一个minibuffer-setup-hook,但使用(remove-hook 'minibuffer-setup-hook 'paredit-mode)似乎不起作用。但是,该paredit-mode函数本身带有一个可选参数,因此可以paredit-mode通过在 minibuffers 中添加以下内容来禁用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很可能是罪魁祸首。我会继续研究这个,一旦我发现有用的东西就会更新答案。

于 2014-05-15T08:30:10.663 回答