Complementary packages
Vertico integrates well with complementary packages, which enrich the completion UI. These packages are fully supported:
- Marginalia: Rich annotations in the minibuffer
- Consult: Useful search and navigation commands
- Embark: Minibuffer actions and context menu
- Orderless: Advanced completion style
In order to get accustomed with the package ecosystem, I recommend the following quick start approach:
- Start with plain Emacs (
emacs -Q). - Install Vertico and enable
vertico-modeto get incremental minibuffer completion. - Install Orderless and/or configure the built-in completion styles for more flexible minibuffer filtering.
- Install Marginalia and enable
marginalia-modeif you like rich minibuffer annotations. - Install Consult if you want additional featureful completion commands, e.g., the buffer switcher
consult-bufferwith preview or the line-based searchconsult-line. - Install Embark and add two keybindings for
embark-dwimandembark-act. I am using the mnemonic keybindings ‘M-.’ and ‘C-.’ since these commands allow you to act on the object at point or in the minibuffer. - Install Embark-Consult to export from ‘
consult-line’ to editable ‘occur-mode’ buffers and from ‘consult-grep’ to ‘grep-mode’ buffers. On Emacs 31, use ‘grep-edit-mode’ for editing or wgrep on older Emacs version. - Fine tune Vertico with extensions.
The ecosystem is modular. You don’t have to use all of these components. Use only the ones you like and the ones which fit well into your setup. The steps 1. to 4. introduce no new commands over plain Emacs. Step 5. introduces the new commands embark-act and embark-dwim. In step 6. you get the Consult commands, some offer new functionality not present in Emacs already (e.g., consult-line) and some are substitutes (e.g., consult-buffer for switch-to-buffer).