feat: Various completion additions

- Add `vertico-mode` keybindings.
- Unmap `C-k` in insert state.
This commit is contained in:
Madeleine Sydney
2025-01-12 18:34:20 -07:00
parent 7683acd80a
commit d3fbc8442b
4 changed files with 64 additions and 1 deletions

View File

@@ -37,6 +37,10 @@
;; cursor. Quick fix! }:P
(add-hook 'minibuffer-setup-hook
#'evil-refresh-cursor)
;; Unbind 'C-k'. Normally, it inserts digraphs; I have a compose key. It
;; often gets in the way of buffers with navigation, e.g. scrolling through
;; shell/REPL history, navigating Vertico completions, etc.
(keymap-set evil-insert-state-map "C-k" nil)
(evil-mode 1))
;; A large, community-sourced collection of preconfigured Evil-mode

View File

@@ -73,6 +73,12 @@ are active.")
"u" `("Save buffer as root" . ,#'syd/save-buffer-as-root)
"r" `("Revert buffer" . ,#'revert-buffer))
;;; Search
(general-def
:prefix-map 'syd-leader-search-map
"i" `("IMenu" . ,#'consult-imenu)
"b" `("Search buffer" . ,#'syd/search-buffer))
;;; File
(require 'syd-file)
(general-def
@@ -113,6 +119,7 @@ are active.")
"b" `("Buffer" . ,syd-leader-buffer-map)
"w" `("Window" . ,syd-leader-window-map)
"f" `("File" . ,syd-leader-file-map)
"s" `("Search" . ,syd-leader-search-map)
"h" `("Help" . ,help-map)))
(syd-keybinds-initialise)

View File

@@ -16,12 +16,29 @@
;; technically, it doesn't play well with `evil-terminal-cursor-changer'.
(blink-cursor-mode -1))
;; Consult adds various search and navigation tools using Emacs' completing-read
;; function; i.e., in our case, Vertico.
(use-package consult
:defer t)
;; Vertico is a simple completion engine that replaces Emacs' built-in
;; completion engine, achieving Just Works™ compatibility. This is in contrast
;; to e.g. Helm and Ivy, which spawn ecosystems orthogonal to Emacs, and
;; diametrically-opposed to each other.
(use-package vertico
:hook (on-first-input . vertico-mode))
:hook (on-first-input . vertico-mode)
:general (:keymaps 'vertico-map
"DEL" #'vertico-directory-delete-char
"C-SPC" #'+vertico/embark-preview
"C-j" #'vertico-next
"C-k" #'vertico-previous
"C-M-j" #'vertico-next-group
"C-M-k" #'vertico-previous-group)
:config
(setq-default completion-in-region-function #'consult-completion-in-region)
;; Cleans up path when moving directories with shadowed paths syntax, e.g.
;; cleans ~/foo/bar/// to /, and ~/foo/bar/~/ to ~/.
(add-hook 'rfn-eshadow-update-overlay-hook #'vertico-directory-tidy))
;; Orderless provides a completion style that divides the pattern into
;; space-separated components, and matches candidates that match all of the