DRY way of remapping a key in all relevant modes
Patrick Brinich-Langlois
pbrinichlanglois at gmail.com
Sun Sep 23 01:47:30 CEST 2012
> Here's another approach, as recursion is not a fine choice for elisp:
>
> (defun set-in-all-evil-states (key def &optional maps)
> (unless maps
> (setq maps (list evil-normal-state-map
> evil-visual-state-map
> evil-insert-state-map
> evil-emacs-state-map)))
> (while maps
> (define-key (pop maps) key def)))
>
> ;; usage
>
> (set-in-all-evil-states "i" 'evil-forward-char)
>
> ;; or
>
> (set-in-all-evil-states "i" 'evil-forward-char (list evil-normal-state-map
evil-visual-state-map))
>
> HTH,
> Michael
Thanks, Michael! That does help. It doesn't affect the bindings in Dired, though.
Do I have to define those bindings specifically? For example,
(evil-define-key 'normal dired-mode-map "i" 'evil-forward-char)
Or is there a better way?
Patrick
More information about the implementations-list
mailing list