[英]Emacs text gets stuck in minibuffer
我正在使用 GNU Emacs 24.4.1(编辑:也见于 24.5.1)。 来自 vc-mode 的一些旧输出(我认为)出现在 minibuffer 中:
Auto-merging foo/bar
我目前没有做任何版本控制操作,但是这个文本被卡在了小缓冲区中。 按 Cg 将它短暂地替换为 Quit,但它会在下一次击键时返回。
它不是什么:它不是递归编辑。 C-] 或abort-recursive-edit
给出错误No recursive edit is in progress
并且 minibuffer 中尴尬的文本仍然存在。
它不是用鼠标选择的文本,因为我在没有鼠标支持的文本控制台(通过 ssh 的 GNU 屏幕会话)中运行。
我已经尝试了来自http://www.emacswiki.org/emacs/MiniBuffer的switch-to-minibuffer
命令,但这给出了错误Minibuffer is not active
。 然而,这种尴尬的文字仍然不断出现。
这不是屏幕大小问题(因为 Emacs 不知道终端窗口的正确大小,所以文本过时)因为我可以调整终端窗口的大小,并且 Emacs 可以正确调整大小......文本仍然显示在迷你缓冲区中。
有时我会在 minibuffer 中看到两行或更多行文本的这种效果。 实际上,我当前的 Emacs 会话在一个屏幕中的一个客户端会话 ( emacsclient -nw
) 中具有该会话,而主会话仅显示一行。 客户端会话在 minibuffer 中显示了几行版本控制代码:
Auto-merging foo/bar
CONFLICT (content): Merge conflict in foo/bar
我怎样才能让它消失?
如果您点击Cg
来终止正在运行的 shell 命令,则可能会发生这种情况。 这将使小缓冲区窗口指向*Shell Command Output*
缓冲区。
如错误 #25209 中所述,您可以通过在暂存缓冲区中调用(minibuffer-window)
来检查是否发生了这种情况:
(minibuffer-window)
#<window 2 on *Shell Command Output*>
并修复它:
(set-window-buffer (minibuffer-window) (get-buffer " *Minibuf-0*"))
这已在此提交中修复,并且该修复程序作为 Emacs 26.1 的一部分发布。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.