Minibuffer Keymaps
The minibuffer has its own set of local keymaps; they contain various completion and exit commands.
minibuffer-local-mapis used for ordinary input (no completion).minibuffer-local-ns-mapis similar, except that SPC exits just like RET.minibuffer-local-completion-mapis for permissive completion.minibuffer-local-must-match-mapis for strict completion and for cautious completion.minibuffer-local-filename-completion-mapis like the two previous ones, but specifically for file name completion. It does not bind SPC.
By default, TAB, SPC and ? do completion in minibuffer-local-completion-map. If you commonly complete over collections that have elements with space or question mark characters in them, it may be convenient to disable completion on those keys by putting this in your init file:
emacs-lisp
(keymap-set minibuffer-local-completion-map "SPC" 'self-insert-command)
(keymap-set minibuffer-local-completion-map "?" 'self-insert-command)