我喜欢Emacs的paredit模式,但是在执行 M-:
命令时,非常想念它。有没有办法使得在执行 M-:
命令时,也能够在迷你缓冲区中使用paredit呢?谢谢!
添加一个函数到 minibuffer-setup-hook
,像这样:
(add-hook 'minibuffer-setup-hook 'conditionally-enable-paredit-mode)
(defun conditionally-enable-paredit-mode ()
"enable paredit-mode during eval-expression"
(if (eq this-command 'eval-expression)
(paredit-mode 1)))
paredit-mode
添加到eval-expression-minibuffer-setup-hook
中,如下所示。(add-hook 'eval-expression-minibuffer-setup-hook #'paredit-mode)
shell-command
/M-!
),而不仅仅是在minibuffer中输入Emacs Lisp。我希望不是这种情况。我想知道是否最终需要用调用更特殊的读取函数的方式来替换eval-expression
。 - draebekthis-command
这个钩子出现之前就写过它了。我没有想到这样做。谢谢! - draebek(paredit-mode 1)
之后,我尝试了(local-set-key [return] 'minibuffer-complete-and-exit)
但是没有成功。该怎么办? - NordlöwC-j
的绑定 - 可能你已经将其绑定到了return
。在纯净的Emacs 24.2中,C-j
和<return>
是不同的绑定,因此C-j
绑定到paredit-newline
而<return>
绑定到'exit-minibuffer
。我建议查看一下你的.emacs
文件中是否绑定了这些键,或者尝试在没有你的配置的情况下运行Emacs,并加载paredit.el
来查看其行为如何。 - Trey Jackson