hippie-expand
facilitates completion commands using any arbitrary set of criteria:
(defalias 'my-complete-file-name
(make-hippie-expand-function '(try-complete-file-name))
"A variant of `hippie-expand' which completes only file names.")
(global-set-key (kbd "C-c f") 'my-complete-file-name)
As with hippie-expand
in general, you just repeat the binding (or repeat
it with C-x z z z...
*) to cycle through all the possible completions.
(*) Although that's more awkward if you use this in the minibuffer on account of repeat
echoing a message, so an easy-to-type binding may be preferable.