14
votes

For example, when you open a file via C-x-C-f, you can TAB complete file names, and if there are more than one possible completions, it will pop open a completion buffer with a list of possible completions. The problem is, after you've opened the file, the window the buffer was in switches back to normal, but it doesn't close. Is there any way I can make those buffers close automatically after the file has been opened?

2
Do you mean you want to completely "kill" the * Completions * buffer after being used (rather than default behaviour which is just to "hide" it)? - luapyad
The window configuration switches back to what it was before you try the completions (on C-x C-f for a plain emacs (emacs -q). Can you give more details? Is <kbd>C-x C-f</kbd> perhaps not bound to find-file? - Trey Jackson

2 Answers

7
votes

Although it does not directly solve your problem have you considered ido-mode as a mechanism for opening files?

ido-mode will bind C-x C-f to ido-find-file this allows you to interactively opening files (selecting between name collisions from within the minibuffer C-s and various other nifty features) I find it a much easier method of finding files and it will get rid of the *Completions* buffer altogether.

13
votes

Sorry to enter really late on this but this is how I do:

;; Remove completion buffer when done
(add-hook 'minibuffer-exit-hook 
      '(lambda ()
         (let ((buffer "*Completions*"))
           (and (get-buffer buffer)
            (kill-buffer buffer)))))

Tested on GNU Emacs 22.x and 23.x