如何清空或清除emacs迷你缓冲区?

Loi*_*ary 9 emacs

有时迷你缓冲区的内容显示命令的输出(emacs 24).当输出只是一行时,这不是太麻烦.当命令多行很长并且迷你缓冲器使用许多可用于其他东西的显示行时,这会更烦人.

有没有办法清除迷你缓冲区的内容?

注意:当我M-! echo usage: foo ; echo将迷你缓冲区内容更改为usage: foo.

注意:我没有进行递归编辑,迷你缓冲区未激活,使用时C-g, M-x C-g , (message nil), M-x delete-minibuffer-contents, M-: (kill-buffer " Echo Area 0")不清除迷你缓冲区

sha*_*rov 8

通常,C-g在这些情况下工作正常.它将在迷你线中打印"退出",这只是一条线而且不显眼.

如果您需要以编程方式清除迷你缓冲区,请致电(message nil).

如果由于某种原因,C-g对您不起作用,请创建一个新命令和一个用于清除迷你缓冲区的键绑定

(defun my-clear-message ()
  (interactive)
  (message nil))

(global-set-key (kbd "C-c c") 'my-clear-message)
Run Code Online (Sandbox Code Playgroud)


Loi*_*ary 2

虽然我不明白为什么以下会清除迷你缓冲区:M-! echo ; echo