gpt4 book ai didi

Emacs 文本卡在 minibuffer 中

转载 作者:行者123 更新时间:2023-12-01 07:47:19 27 4
gpt4 key购买 nike

我正在使用 GNU Emacs 24.4.1(编辑:也见于 24.5.1)。来自 vc-mode(我认为)的一些旧输出出现在 minibuffer 中:

Auto-merging foo/bar

我目前没有做任何版本控制操作,但是这个文本被卡在了 minibuffer 中。按 C-g 将它短暂地替换为 Quit,但它会在下一次击键时返回。

它不是什么:它不是递归编辑。 C-] 或 abort-recursive-edit给出错误 No recursive edit is in progress小缓冲区中尴尬的文本仍然存在。

这不是用鼠标选择的文本,因为我在没有鼠标支持的文本控制台(通过 ssh 的 GNU 屏幕 session )中运行。

我试过 switch-to-minibuffer来自 http://www.emacswiki.org/emacs/MiniBuffer 的命令但这给出了错误 Minibuffer is not active .然而,这种尴尬的文字仍然不断出现。

这不是屏幕大小问题(因为 Emacs 不知道终端窗口的正确大小,所以文本过时)因为我可以调整终端窗口的大小,并且 Emacs 可以正确调整大小......文本仍然显示在迷你缓冲区中。

有时我会在 minibuffer 中看到两行或更多行文本的这种效果。事实上,我当前的 Emacs session 在一个屏幕中的一个客户端 session ( emacsclient -nw ) 中具有该 session ,而主 session 仅显示一行。客户端 session 在 minibuffer 中显示了几行版本控制代码:
Auto-merging foo/bar
CONFLICT (content): Merge conflict in foo/bar

我怎样才能让它消失?

最佳答案

如果您点击 C-g,这可能会发生终止正在运行的 shell 命令。这将使小缓冲区窗口指向 *Shell Command Output*缓冲。

bug #25209 中所述,您可以通过调用 (minibuffer-window) 来检查是否发生了这种情况。在暂存缓冲区中:

(minibuffer-window)
#<window 2 on *Shell Command Output*>

并修复它:
(set-window-buffer (minibuffer-window) (get-buffer " *Minibuf-0*"))

这已在 this commit 中得到修复,并且该修复程序作为 Emacs 26.1 的一部分发布。

关于Emacs 文本卡在 minibuffer 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31022976/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com