禁用迷你缓冲区中的括号

  • 本文关键字:缓冲区 emacs paredit
  • 更新时间 :
  • 英文 :


我在Emacs 24.3.1中使用starter-kit-lisp,它在许多缓冲区(包括minibuffer)中打开paredit-mode。当我进行regexp搜索时,这是非常令人沮丧的,因为paredit没有关于regexp的线索,并且不让我在某些地方输入某些字符。:)

我想禁用paredit-mode为所有的minibuffers

根据禁用公司模式在minibuffer中,有一个minibuffer-setup-hook,但使用(remove-hook 'minibuffer-setup-hook 'paredit-mode)似乎不起作用。但是,paredit-mode函数本身接受一个可选参数,因此可以通过向init.el添加以下内容来禁用minibuffers中的paredit-mode:

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

感谢Magnar seven的提示!

当然,这是一个hack。最好不要再启用家长式对话了。以下是[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很可能是罪魁祸首。我将继续挖掘这个问题,一旦我发现有用的东西,我会更新答案。

最新更新