There are many packages for completions in Emacs. I recently switched over from ido
and helm
to the MOVEC stack: Marginalia, Orderless, Vertico, Embark, Consult.
What do these packages do?
- Marginalia appends additional information to completion results (e.g. adds file size to
find-file
results) - Orderless enables fuzzy-ish search
- Vertico renders completions (vertically as the name implies) with some additional utilities for managing history, displaying the number of results, and more
- Embark is a whole other thing that applies actions to completion results (see how to use embark for emacs)
- Consult is the main framework around the built-in Emacs
completing-read
API with default wrappers around built-in Emacs commands like finding a file, switching or killing a buffer, etc.