删除emacs中完成微缓冲区中的额外消息

删除emacs中完成微缓冲区中的额外消息,emacs,completion,minibuffer,Emacs,Completion,Minibuffer,当我键入emacs shell和tab以完成时,会显示一个完成小缓冲区,并列出可能的完成,如下所示: Click <mouse-2> on a completion to select it. In this buffer, type RET to select the completion near point. Possible completions are: CLUTTER_IM_MODULE DBUS_SESSION_BUS_ADDRESS DEFAULTS_P

当我键入emacs shell和tab以完成时,会显示一个完成小缓冲区,并列出可能的完成,如下所示:

Click <mouse-2> on a completion to select it.
In this buffer, type RET to select the completion near point.

Possible completions are:
CLUTTER_IM_MODULE   DBUS_SESSION_BUS_ADDRESS    DEFAULTS_PATH
单击完成项以选择它。
在此缓冲区中,键入RET以选择接近点的完成。
可能的完成情况如下:
杂波\ IM\模块DBUS\会话\总线\地址默认值\路径

我可以通过设置
(setq completion show help nil)
删除前两行。但是有没有可能去掉
可能的补全是:
?我只需要一点清洁。

一个简单的解决办法是,在运行
显示完成列表之后(假设您已经将
完成显示帮助设置为
无),只需从输出缓冲区中删除该行即可


看看代码:这是硬连线的。摆脱它的唯一方法是修改代码。
(define-advice display-completion-list (:after (&rest r) "remove-msg")
  (with-current-buffer standard-output
    (goto-char (point-min))
    (when (looking-at-p "Possible completions.*")
      (delete-region (line-beginning-position) (line-beginning-position 2)))))