Emacs Completion Stack

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.