On Sun, Sep 18, 2011 at 07:11:22PM +0100, Eric S Fraga wrote:
As I was customizing to make my vim and emacs habits non-exclusive I realized that C-x C-e (eval-last-sexp) works on the next to last sexp and I couldn't move over the last paren as it's usually the last character.
How do you eval in evil?
I was just going to ask the same question! The problem is the mismatch between emacs point and vi's character position.
In any case, the solution is quite straightforward: put the cursor (point) at the start of the next line. Not ideal but it works.
You may try the following code which advices some function when evil is activated. If you use at least 35ff006 those modifications should be activated if and only if evil is active. If those modifications work they could go into evil's code. ;;; eval-last-sexp (defadvice eval-last-sexp (around evil) "Last sexp ends at point." (when (evil-normal-state-p) (save-excursion (unless (or (eobp) (eolp)) (forward-char)) ad-do-it))) ;;; pp-eval-last-sexp (defadvice pp-eval-last-sexp (around evil) "Last sexp ends at point." (when (evil-normal-state-p) (save-excursion (unless (or (eobp) (eolp)) (forward-char)) ad-do-it))) Frank