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.
  • Show All Buffer Local Variables in an Emacs Buffer

    Sometimes using Emacs you want to know what variables are being set in the current buffer. C-h v lists all the variables, including buffer-local variables in the minibuffer which you can then search and refine just like any other minibuffer session. This is really handy when you customized some settings using hooks and want to verify they took. For example, setting the org-download directory based on filetags.