Extensions
We maintain small extension packages to Vertico in this repository in the subdirectory extensions/. The extensions are installed together with Vertico. The extensions are inactive by default and can be enabled manually if desired. Furthermore it is possible to install all of the files separately, both vertico.el and the vertico-*.el extensions. Currently the following extensions come with the Vertico package:
- vertico-buffer: ‘
vertico-buffer-mode’ to display Vertico like a regular buffer. - vertico-directory: Commands for Ido-like directory navigation.
- vertico-flat: ‘
vertico-flat-mode’ to enable a flat, horizontal display. - vertico-grid: ‘
vertico-grid-mode’ to enable a grid display. - vertico-indexed: ‘
vertico-indexed-mode’ to select indexed candidates with prefix arguments. - vertico-mouse: ‘
vertico-mouse-mode’ to support for scrolling and candidate selection. - vertico-multiform: Configure Vertico modes per command or completion category.
- vertico-quick: Commands to select using Avy-style quick keys.
- vertico-repeat: The command ‘
vertico-repeat’ repeats the last completion session. - vertico-reverse: ‘
vertico-reverse-mode’ to reverse the display. - vertico-sort: Provides optimized sort functions, by history, by length and lexical.
- vertico-suspend: The command ‘
vertico-suspend’ suspends and restores the current session. - vertico-unobtrusive: ‘
vertico-unobtrusive-mode’ displays only the topmost candidate.
See the commentary of those files for configuration details. With these extensions it is possible to adapt Vertico such that it matches your preference or behaves similar to other familiar UIs. For example, the combination ‘vertico-flat’ plus ‘vertico-directory’ resembles Ido in look and feel. For an interface similar to Helm, the extension ‘vertico-buffer’ allows you to configure freely where the completion buffer opens, instead of growing the minibuffer. Furthermore ‘vertico-buffer’ will adjust the number of displayed candidates according to the buffer height.
Configuration example for ‘vertico-directory’:
;; Configure directory extension.
(use-package vertico-directory
:after vertico
:ensure nil
;; More convenient directory navigation commands
:bind (:map vertico-map
("RET" . vertico-directory-enter)
("DEL" . vertico-directory-delete-char)
("M-DEL" . vertico-directory-delete-word)))