有一种方法可以清除迷你吧的内容?
注:当我M-! echo usage: foo ; echo
usage: foo
。注:我不在递归编辑中,小型ibuffer不活跃,使用
C-g, M-x C-g , (message nil), M-x delete-minibuffer-contents, M-: (kill-buffer " Echo Area 0")
没有清除minibuffer
通常,在这种情况下效果很好。它将在小型纸杯中打印“退出”,这只是一行,毫不客气。 如果您需要以编程方式清除迷你吧,请致电
如果出于某种原因,
(message nil)
不适合您,请制定一个新命令和一个清除MiniBuffer的钥匙
C-g
从您的描述中,我的猜测(“ MiniBuffer不活跃”),您对其他答案的答复是,这是需要清除的小型ibuffer - 它是
echoake区域。
这是相同的物理空间,但是回声区域用于输出(例如
(defun my-clear-message ()
(interactive)
(message nil))
(global-set-key (kbd "C-c c") 'my-clear-message)
),而小型ibuffer主要用于输入。
清除回声区域,使用
message
(message nil)
-例如。这通常会照顾好工作(但请参见下文,关于杀死回声区缓冲区,如果您真的需要清除它)。 如果确实是您要清除的小型输入,那么:
C-g
(如有必要,重复)退出MiniBuffer。
您可以使用任何文本清除键清除输入而无需退出。例如,
M-x C-g
会清除很多(它是C-g
)。 i将
C-x DEL
(通常是
backward-kill-sentence
)绑定到删除所有迷你输入的命令(例如,在icicles中就是这种情况)。命令
M-k
(您还可以杀死Echo-Area缓冲区,如果应该被一些您想要摆脱的文本污染。缓冲区将自动重新创建。使用Vanilla Emacs,可以进行互动,以互动进行此操作,这有点问题。但是您至少可以使用
kill-sentence
delete-minibuffer-contents
char前缀)。)通常在您在Emacs中做其他任何事情时,通常会清除此输出。 但是有时候,Emacs会感到困惑,并且信息在回声区域不断出现。
填充命名的缓冲区
M-: (kill-buffer " *Echo Area 0*")
将解决该问题,但是当我发生这种情况时,Emacs拒绝删除此缓冲区。 删除此缓冲区的内容解决了问题,但是下次执行shell命令时,输出在缓冲区中重新出现。
您可以通过重命名缓冲区来防止该问题。 一种方法是使该缓冲液电流(例如,使用SPC
或*Shell Command Output*
)和做
C-x b
尽管我不明白为什么跟随小型ibuffer:
M-x switch-to-buffer
c-g
,这将清除回声区域。
上述没有帮助我。所以我开始调查并与
M-x rename-uniquely
一起回来。从互动帮助中:(顶级)
退出所有递归编辑级别。 这也将退出所有活跃的小型填料。