首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emacs文本卡在minibuffer中

Emacs文本卡在minibuffer中
EN

Stack Overflow用户
提问于 2015-06-24 17:36:45
回答 1查看 1.5K关注 0票数 3

我使用的是GNU Emacs 24.4.1 (编辑:也可以在24.5.1中看到)。一些来自vc-mode的旧输出(我认为)出现在minibuffer中:

代码语言:javascript
复制
Auto-merging foo/bar

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

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

它不是用鼠标选择的文本,因为我是在没有鼠标支持的文本控制台(基于ssh的GNU屏幕会话)中运行的。

我已经在http://www.emacswiki.org/emacs/MiniBuffer中尝试了switch-to-minibuffer命令,但得到了错误Minibuffer is not active。然而,这种尴尬的文本仍在不断出现。

这不是屏幕大小问题(对于陈旧的文本,因为Emacs不知道终端窗口的正确大小),因为我可以调整终端窗口的大小,Emacs也可以正确地调整大小。文本仍然显示在微型缓冲器中。

有时,我在minibuffer中看到了两行或更多行文本的这种效果。实际上,我当前的Emacs会话在一个屏幕中的一个客户端会话(emacsclient -nw)中显示了这一点,主会话只显示一行。客户端会话在minibuffer中显示了几行版本控制gunk:

代码语言:javascript
复制
Auto-merging foo/bar
CONFLICT (content): Merge conflict in foo/bar

我怎么才能让它消失呢?

EN

回答 1

Stack Overflow用户

发布于 2019-11-08 20:26:16

如果您点击C-g来终止正在运行的外壳命令,就可能发生这种情况。这将使微型缓冲区窗口指向*Shell Command Output*缓冲区。

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

代码语言:javascript
复制
(minibuffer-window)
#<window 2 on *Shell Command Output*>

并使用以下命令进行修复:

代码语言:javascript
复制
(set-window-buffer (minibuffer-window) (get-buffer " *Minibuf-0*"))

此问题已在this commit中修复,该修复已作为Emacs26.1的一部分发布。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31022976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档