11

我什至不确定这是以前的命令还是未完成的命令或其他什么,但我知道我真的不喜欢它。

我的问题是某些命令(或消息,或其他)卡在迷你缓冲区中,因此当我键入新命令时,它会很快出现在那里,然后迷你缓冲区又回到顽固的命令。似乎选择了一些命令,并且在使用了很多命令之后,其他东西被卡在那里,但总是有一些我不想看到的东西被显示出来。我尝试多次输入 Cg 以查看它是否会退出,但这不起作用。

这是我现在拥有的图片:

替代文字

不管我做什么,那一点

标签: hl-line

不会离开。当输入新命令时,它确实会暂时离开,但它会返回。我不喜欢它,它令人困惑,我更愿意在那里看到最后使用的命令。

我确实检查了迷你缓冲区的自定义选项(可以在我的图片中看到它的底部),但我没有发现任何似乎是我想要的东西。

有任何想法吗?

4

2 回答 2

19

您可能会遇到这种情况,因为您启动了一个命令并使用鼠标在不同的窗口中选择了某些内容。如果是这种情况,您可以让 Emacs 在您执行此类操作时自动中止命令。

这是您要添加到 .emacs 中的代码:

(defun stop-using-minibuffer ()
  "kill the minibuffer"
  (when (and (>= (recursion-depth) 1) (active-minibuffer-window))
    (abort-recursive-edit)))

(add-hook 'mouse-leave-buffer-hook 'stop-using-minibuffer)

注意:我从关于该主题的博客文章中获取了这个

还有一个超级用户问题解决了这个问题,我的回答提供了一个跳转回 minibuffer的命令。

于 2010-06-11T15:25:09.710 回答
11

迷你缓冲区失去焦点。尝试 Cx o (Control+xo) 重新获得焦点。要取消命令,请在迷你缓冲区中有焦点时按 Cg。

于 2010-06-11T13:02:54.880 回答