evil-paredit-mode.el mode map blues

Óscar Fuentes ofv at wanadoo.es
Tue Mar 19 00:04:08 CET 2013


Óscar Fuentes <ofv at wanadoo.es> writes:

> I'm trying Evil since a few days ago (looks great so far) and, as a
> heavy user of paredit.el, I'll like to avoid the possibility of damaging
> the structure of my Lisp code with Evil commands. A quick search reveals
> the existence of a small hack named evil-paredit-mode:
>
> https://github.com/roman/evil-paredit/blob/master/evil-paredit.el
>
> but, after visiting a Lisp file and executing M-x evil-paredit-mode, at
> first it seems that it has no effect and M-x x shows that the key is
> still bound to evil-delete-char. But after some random edit operations,
> the key becomes bound to paredit-forward-delete, as it should since the
> activation of evil-paredit-mode.
>
> Why could this happen?
>
> I'm using Emacs compiled from trunk 5 days ago, Evil from latest git
> sources and paredit-beta.

It seems that the method used by evil-paredit-mode is not adequate for
the job. Modifying the local keymap seems to work:

(defun foo ()
  (interactive)
  (define-key evil-normal-state-local-map "d" 'evil-paredit-delete)
  (define-key evil-normal-state-local-map "c" 'evil-paredit-change)
  (define-key evil-normal-state-local-map "y" 'evil-paredit-yank)
  (define-key evil-normal-state-local-map "D" 'evil-paredit-delete-line)
  (define-key evil-normal-state-local-map "C" 'evil-paredit-change-line)
  (define-key evil-normal-state-local-map "Y" 'evil-paredit-yank-line)
  (define-key evil-normal-state-local-map "X" 'paredit-backward-delete)
  (define-key evil-normal-state-local-map "x" 'paredit-forward-delete)
  )




More information about the implementations-list mailing list