Open A7R7 opened 1 year ago
Hm, I'm not familiar with how which-key works in neovim.
In this package, which-key was designed to be passive and not intercept all key presses, which is why a certain key like C-h
is used to "escape" the normal key reading routine. You could try (current-active-maps)
and recurse down through them defining DEL
to be which-key-undo
for every possible prefix. That only takes care of maps that are active though.
Another possibility, and maybe better, would be to define a list of prefixes and bind which-key-undo
to DEL
at each prefix in override-global-map
. Something like
(setq my-prefixes '("C-x"))
(mapcar
(lambda (x)
(define-key override-global-map (kbd (concat x " DEL")) #'which-key-undo))
my-prefixes)
TL;DR: How to bind
which-key-undo
toDEL
after every prefix?I'm an emacs noob comming from Neovim recently. Neovim also has a which-key plugin which by default uses
DEL
to undo keystrokes. I want to bring that feature to my emacs config.From the readme we know that there's a
which-key-undo
command that can achieve this. Also, we can pressC-h u
in the which-key-mode-map to undo keystrokes. However,C-h u
is not as fast as a simpleDEL
. Sometimes you just typed some wrong keystrokes and want to clear them quickly. Pressing other keys such asESC
that eventually leads toxxx is undefined
is also an option, but that make me feel 'dangerous'.So generally I'd like to bind
which-key-undo
toDEL
. But that raises another question: I need to bindDEL
after every prefix in emacs for it to work. It can be done manually, but that's troublesome. I wonder if there is a better practice to achieve this?Your advice is highly appreciated!