There are several packages that offer fuzzy completion of one kind or another. I imagine that Helm does, for example (since you mention it).
If you use library Icicles then you can choose (on the fly) among several fuzzy-completion methods - more choice than I've seen offered elsewhere. (I am not particularly a fan of fuzzy completion, myself, but I offer it.)
Icicles completion (hence fuzzy completion, if you choose that) applies pretty much everywhere, but there are not a whole lot of Icicles-specific code-completion features. This page of the Icicles doc speaks about such buffer-text completion.
With Icicles, using Stefan's example of completing
(wi-sy in Emacs Lisp mode:
vanilla completion (what Emacs provides, respecting
completion-styles), you get the same symbols that Stefan mentions.
With Icicles Swank fuzzy symbol completion (from library
el-swank-fuzzy.el) as the current TAB-completion method, you get these completion candidates:
The first 3 candidates are, again, those that Stefan mentions.
With plain fuzzy-match completion (library
fuzzy-match.el), the only candidate is
With Icicles scatter fuzzy completion, you get all of the candidates that Swank fuzzy completion offers, plus the following:
- With Icicles Levenshtein (1) fuzzy substring completion (Levenshtein distance of 1), you get only these completions:
With a Levenshtein distance of 2 instead of 1, there are more than 300 completion candidates.
With strict Levenshtein (1 or 2) completion there are no candidates. Likewise, for Icicles Jaro-Winkler fuzzy completion.