Как я могу предотвратить отображение мини-буфера предыдущих команд в Emacs? - PullRequest
8 голосов
/ 11 июня 2010

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

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

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

alt text

Неважно, что я делаю, этот бит

Метка: hl-line

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

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

Есть идеи?

Ответы [ 2 ]

15 голосов
/ 11 июня 2010

Скорее всего, вы попали в ситуацию, потому что вы запустили команду и с помощью мыши выбрали что-то в другом окне.Если это так, вы можете сделать так, чтобы 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)

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

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

10 голосов
/ 11 июня 2010

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

...