eval in evil: move the cursor past last char

Natan Yellin aantny at gmail.com
Mon Sep 19 18:19:05 CEST 2011


I wrote these functions for vimpulse. If you rewrite them for evil, send me
a copy:


(defun ny-eval-region-dwim ()
  "Evaluates the current region if it exists. Otherwise evals the current
line"
  (interactive)
  ;; if there is no region, select current line
  (when (not vimpulse-visual-mode)
    (progn
      (viper-beginning-of-line 1)
      (vimpulse-visual-toggle-line)
      (viper-goto-eol 1)))
  (eval-region (region-beginning) (region-end))
  ;; de-activate visual mode
  (vimpulse-visual-mode -1))

(defun ny-eval-buffer ()
  (interactive)
  (eval-buffer))

;; sample mappings
(vimpulse-map ",er" 'ny-eval-region-dwim)
(vimpulse-map ",eb" 'ny-eval-buffer)


Natan

--
blog: http://natanyellin.com
 <http://natanyellin.com/>twitter: @aantn <http://twitter.com/aantn>

On Sun, Sep 18, 2011 at 9:11 PM, Eric S Fraga <e.fraga at ucl.ac.uk> wrote:

> Lorenz Köhl <rainbowtwigs at googlemail.com> writes:
>
> > Hello,
> >
> > evil is awesome.
> >
> > 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.
>
> HTH,
> eric
>
> --
> Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D)
>
>
> _______________________________________________
> implementations-list mailing list
> implementations-list at lists.ourproject.org
> https://lists.ourproject.org/cgi-bin/mailman/listinfo/implementations-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.ourproject.org/pipermail/implementations-list/attachments/20110919/8931cdfc/attachment.htm 


More information about the implementations-list mailing list