vimpulse C-o not using global marks ?!?

Štěpán Němec stepnem at gmail.com
Sat Jul 24 21:42:30 CEST 2010


Vegard Øye <vegard_oye at hotmail.com> writes:

> On 2010-07-23 16:16, Štěpán Němec wrote:
>
>> I consider this to be a problem, too, and even started to implement
>> it before some time, but as I almost never use it and nobody else
>> seemed to ever mention this, it remained a stub, i.e. it sort-of
>> works, but a bit funnily and not quite as in Vim (yet).
>
> Why not keep the existing code, but extend it to use the global mark
> ring (C-x C-<SPC>)? There's already a convention for larger movement
> commands to set the mark (so that C-x C-x jumps back to the previous
> position).

Well, yeah -- it again boils down to what we (and the majority of
Vimpulse users) really want: Vim compatibility (in that case a rewrite
in the direction the stub attempts would be in order), or some other
kind of useful behaviour (whatever that means)? I don't care all that
much in this case -- Emacs provides both local and global mark commands
(i.e. I'm actually currently using C-u C-SPC for what you're using C-o
now). *But* if I recollect correctly, when I made those changes, I
didn't really see an easy way to use vanilla Emacs functionality to
achieve Vim's C-i/C-o, that's why I went for the ring+advice approach.
And it actually seemed to work (right? :-)) for the functions defined as
jumps in Vim documentation, only the search commands are missing (I
think).

But you like your local C-i/C-o, don't you? :-)

(Also, I'm not sure I understand what you're saying/proposing -- the
problem is that in Emacs the buffer-local vs. global marks distinction
is fundamental and very clear cut, unlike Vim, where there is an
explicitely defined set of jump commands, no matter where they take you
(see :h jump-motions), and jumps are independent of marks. I don't see
how you want to reconcile the two.)

Štěpán



More information about the implementations-list mailing list