Previous: Strict Completion, Up: Completion


9.3.4 Completion Options

When completing file names, certain file names are usually ignored. The variable completion-ignored-extensions contains a list of strings; a file name ending in any of those strings is ignored as a completion candidate. The standard value of this variable has several elements including ".o", ".elc", ".dvi" and "~". The effect is that, for example, `foo' can complete to `foo.c' even though `foo.o' exists as well. However, if all the possible completions end in “ignored” strings, then they are not ignored. Displaying a list of possible completions disregards completion-ignored-extensions; it shows them all.

If an element of completion-ignored-extensions ends in a slash (/), it's a subdirectory name; then that directory and its contents are ignored. Elements of completion-ignored-extensions which do not end in a slash are ordinary file names, and do not apply to names of directories.

If completion-auto-help is set to nil, the completion commands never display a list of possibilities; you must type ? to display the list.

Partial Completion mode implements a more powerful kind of completion that can complete multiple words in parallel. For example, it can complete the command name abbreviation p-b into print-buffer if no other command starts with two words whose initials are `p' and `b'.

To enable this mode, use M-x partial-completion-mode, or customize the variable partial-completion-mode. This mode binds special partial completion commands to <TAB>, <SPC>, <RET>, and ? in the minibuffer. The usual completion commands are available on M-<TAB> (or C-M-i), M-<SPC>, M-<RET> and M-?.

Partial completion of directories in file names uses `*' to indicate the places for completion; thus, /u*/b*/f* might complete to /usr/bin/foo. For remote files, partial completion enables completion of methods, user names and host names. See Remote Files.

Partial Completion mode also extends find-file so that `<include>' looks for the file named include in the directories in the path PC-include-file-path. If you set PC-disable-includes to non-nil, this feature is disabled.

Icomplete mode presents a constantly-updated display that tells you what completions are available for the text you've entered so far. The command to enable or disable this minor mode is M-x icomplete-mode.