Как я могу запретить мини-буферу отображать предыдущие команды в Emacs?

Я даже не уверен, что это предыдущая команда или незавершенная команда или что-то еще, но я знаю, что мне это действительно не нравится.

моя проблема в том, что некоторые команды (или сообщения, или что-то еще) застревают в мини-буфере, так что когда я набираю новую команду, она появляется там очень быстро, а затем мини-буфер возвращается к упрямой команде. Некоторые команды кажутся выбранными, и после использования множества команд что-то еще застревает там, но всегда есть что-то мне показывают, что я не хочу видеть. Я пробовал печатать C-g много раз, чтобы увидеть, выйдет ли он, но это не работает.

Это картина того, что у меня сейчас:

не имеет значения, что я делаю, этот бит

метка: hl-line

не выйдет. Он уходит на мгновение, когда вводится новая команда,но она возвращается. Мне не нравится, это сбивает с толку, и я бы предпочел увидеть там последние команда.

Я проверил параметры настройки для мини-буфера (нижняя часть его можно увидеть на моем рисунке), но я не нашел ничего, что, казалось, было тем, что я искал.

какие идеи?

2 ответов


мини-буфер потерял фокус. Попробуйте C-x o (Control+x o), чтобы восстановить фокус. Для отмены команды нажмите C-g когда у вас есть фокус в мини-буфере.


скорее всего, вы попадаете в ситуацию, потому что вы запустили команду и использовали мышь, чтобы выбрать что-то в другом окне. Если это так, Emacs может автоматически прервать команду при выполнении такого действия.

Это код, который вы бы добавили к своему .в Emacs:

(defun stop-using-minibuffer ()
  "kill the minibuffer"
  (when (and (>= (recursion-depth) 1) (active-minibuffer-window))
    (abort-recursive-edit)))

(add-hook 'mouse-leave-buffer-hook 'stop-using-minibuffer)

примечание: Я схватил это из моего сообщение в блоге по теме.

и есть также вопрос суперпользователя, который решает эту проблему, и мой ответ там предоставляет команду прыжок назад в минибуфере.