19.17 File Name Cache

You can use the file name cache to make it easy to locate a file by name, without having to remember exactly where it is located. When typing a file name in the minibuffer, C-TAB (file-cache-minibuffer-complete) completes it using the file name cache. If you repeat C-TAB, that cycles through the possible completions of what you had originally typed. (However, note that the C-TAB character cannot be typed on most text terminals.)

The file name cache does not fill up automatically. Instead, you load file names into the cache using these commands:

M-x file-cache-add-directory RET directory RET

Add each file name in directory to the file name cache.

M-x file-cache-add-directory-using-find RET directory RET

Add each file name in directory and all of its nested subdirectories to the file name cache.

M-x file-cache-add-directory-using-locate RET directory RET

Add each file name in directory and all of its nested subdirectories to the file name cache, using locate to find them all.

M-x file-cache-add-directory-list RET variable RET

Add each file name in each directory listed in variable to the file name cache. variable should be a Lisp variable whose value is a list of directories, like load-path.

M-x file-cache-clear-cache RET

Clear the cache; that is, remove all file names from it.

The file name cache is not persistent: it is kept and maintained only for the duration of the Emacs session. You can view the contents of the cache with the file-cache-display command.