Evil numbered register behavior vis-a-vis vim

Kari Oikarinen kluge at kluge.fi
Mon Feb 3 18:27:07 CET 2014


Currell Berry <currellberry at gmail.com> writes:

> Hello,
>
> First thanks to all who work on Evil.  It makes my days working in emacs
> much better.
>
> One feature I use a lot in vim is, use 'yy' to yank a line, perform some
> arbitrary editing, possibly including deletions, trusting that vim will
> hold onto the yanked text in the 0 register until I yank another text, and
> then, finally, pasting the text back with '"0p'.  Evil doesn't implement
> the same behavior here.
>
> This link describes how it's supposed to work in vim.
>
> http://blog.sanctum.geek.nz/advanced-vim-registers/
> """
> Numbered registers
>
> The read-only registers 0 through 9 are your "historical record" registers.
> The register 0 will always contain the most recently yanked text, but never
> deleted text; this is handy for performing a yank operation, at least one
> delete operation, and then pasting the text originally yanked with "0p.
>
> The registers 1 through 9 are for deleted text, with "1 referencing the
> most recently deleted text, "2 the text deleted before that, and so on up
> to "9.
> """
>
> Note that register 0 never contains deleted text.  In Evil (I have version
> 1.0-dev) register 0 DOES contain deleted text (try it out), therefore the
> workflow described above does not work.
>
> I'm not sure if this is done on purpose or you've had this discussion
> before, but I know I'd love this particular feature to work the same way as
> vim.  Would this be easy to fix?
>

There's a bug report about this at
https://bitbucket.org/lyro/evil/issue/339/zero-register-0-has-odd-behavior

I'm not sure if it was done on purpose, but I think it was just an
oversight. Perhaps an evil developer will confirm that. I also don't
think it would be hard to implement but I don't really know elisp and
haven't actually gotten around to trying to do it.

-- 
Kari



More information about the implementations-list mailing list