Например, когда вы открываете файл через C-x-C-f, вы можете заполнять имена файлов TAB, и если есть несколько возможных завершений, он откроет буфер завершения со списком возможных завершений. Проблема в том, что после того, как вы открыли файл, окно, в котором буфер находился в переключателях, вернулся к нормальному состоянию, но он не закрывается. Есть ли способ заставить эти буферы автоматически закрываться после того, как файл был открыт?
Есть ли способ автоматического закрытия буферов добавления элементов в Emacs?
Ответ 1
Хотя это не решит вашу проблему, вы считали ido-mode
как механизм для открытия файлов?
ido-mode свяжет C-x C-f
с ido-find-file
, это позволяет вам интерактивно открывать файлы (выбор между коллизиями имен изнутри минибуфер C-s
и различные другие отличные функции). Я нахожу его гораздо более простым способом поиска файлов, и он полностью избавится от буфера *Completions*
.
Ответ 2
Извините, что на самом деле поздно, но это так:
;; Remove completion buffer when done
(add-hook 'minibuffer-exit-hook
'(lambda ()
(let ((buffer "*Completions*"))
(and (get-buffer buffer)
(kill-buffer buffer)))))
Протестировано на GNU Emacs 22.x и 23.x