Click the heading to search for pages in this category.

See DiscussionCategoryCompletion if you are interested in discussing this page. Please do not discuss it here.

Completion can mean different things in Emacs. In particular, it refers to completing input in the minibuffer and completing text in a buffer other than the minibuffer. Minibuffer input can be a command that you enter using ‘M-x’ or text that you enter in response to a prompt in the minibuffer. File-name input is an example of the latter.

Besides the question of where text is completed (minibuffer or other buffer) is the question of how. Completion can be effected in various ways (e.g. using different kinds of matching, filtering, sorting), and it can be accomplished using various user interfaces (e.g. popup selection list/menu).

Minibuffer Input Completion

The minibuffer is typically used to read user input (data) to control program execution dynamically. The standard Emacs behavior for minibuffer input completion is explained in the ‘Completion’ section of the EmacsManual (‘C-h i m Emacs RET m Completition RET’).

See also:

Text Completion in a Buffer

The following libraries complete text in place (in a buffer other than the minibuffer). A typical example is completing a function or variable name in source code.

Programming-Specific Completion

Other Completion

Some completions are available in modes that provide command interaction.