9ddd118a49
Replace standard iOS components with a terminal-inspired design: monospaced typography throughout, flat square borders, Emacs-style modeline header, filetag keyword format (:kw1:kw2:), and custom flat form replacing the iOS Form component. Set Emacs as default theme. Replace non-Emacs demo notes with Emacs ecosystem content and rename screenshots.
46 lines
1.2 KiB
Org Mode
46 lines
1.2 KiB
Org Mode
#+title: Completion: Vertico, Consult, Embark
|
|
#+date: [2024-06-10 Mon]
|
|
#+filetags: :emacs:completion:
|
|
#+identifier: 20240610T160000
|
|
|
|
* The modern completion stack
|
|
|
|
The recommended combination for Emacs 29+:
|
|
|
|
| Package | Role |
|
|
|------------+-------------------------------------------|
|
|
| Vertico | Vertical minibuffer completion UI |
|
|
| Orderless | Space-separated fuzzy matching |
|
|
| Marginalia | Annotations in the minibuffer |
|
|
| Consult | Enhanced commands (search, buffer switch) |
|
|
| Embark | Act on completion candidates |
|
|
|
|
* Setup
|
|
|
|
#+begin_src emacs-lisp
|
|
(use-package vertico
|
|
:init (vertico-mode))
|
|
|
|
(use-package orderless
|
|
:config
|
|
(setq completion-styles '(orderless basic)))
|
|
|
|
(use-package marginalia
|
|
:init (marginalia-mode))
|
|
|
|
(use-package consult
|
|
:bind (("C-s" . consult-line)
|
|
("C-x b" . consult-buffer)
|
|
("M-g g" . consult-goto-line)))
|
|
|
|
(use-package embark
|
|
:bind (("C-." . embark-act)
|
|
("C-;" . embark-dwim)))
|
|
#+end_src
|
|
|
|
* Key workflows
|
|
|
|
- =C-s= searches the current buffer with live preview.
|
|
- =C-x b= switches buffers with file preview.
|
|
- =C-.= on any candidate opens a contextual action menu.
|