Here is a list of the completion commands defined in the minibuffer when completion is allowed.
minibuffer-complete).
minibuffer-complete-word). <SPC> for completion is not
available when entering a file name, since file names often include
spaces.
minibuffer-complete-and-exit). See Strict Completion.
minibuffer-completion-help).
<TAB> (minibuffer-complete) is the most fundamental
completion command. It searches for all possible completion
alternatives that match the existing minibuffer text, and attempts to
complete as much as it can. The matching of completion alternatives
to the minibuffer text is performed according to somewhat intricate
rules, which are designed so that plausible completions are offered
under most circumstances. A valid completion alternative must satisfy
the following criteria:
When performing these comparisons, a ‘*’ in the minibuffer text acts as a wildcard—it matches any character at the corresponding position in the completion alternative.
<SPC> (minibuffer-complete-word) completes like
<TAB>, but only up to the next hyphen or space. If you have
‘auto-f’ in the minibuffer and type <SPC>, it finds that the
completion is ‘auto-fill-mode’, but it only inserts ‘ill-’,
giving ‘auto-fill-’. Another <SPC> at this point completes
all the way to ‘auto-fill-mode’.
If <TAB> or <SPC> is unable to complete, it displays a list of possible completions (if there are any) in a separate window. You can choose a completion from this list using the following commands:
mouse-choose-completion).
switch-to-completions). This paves
the way for using the commands below. Typing <PageUp> or
<prior> does the same, as does selecting that window in other
ways.
choose-completion). To
use this command, you must first switch to the completion list window.
next-completion).
previous-completion).