vimpulse C-o not using global marks ?!?

Vegard Øye vegard_oye at
Sun Jul 25 20:26:58 CEST 2010

On 2010-07-24 21:42, Štěpán Němec wrote:

> 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.

I'm confused ...

Vim's jump list is a list of positions. Emacs' mark rings are also
lists of positions. The ordinary mark ring lists positions in the
current buffer, while the global mark ring lists positions in all

Every time a command calls `push-mark', it records the present
position in these lists. It is customary for larger movement commands
to record the position before moving point. Both Emacs' standard
commands and those defined by Viper heed this convention.

The present implementation of C-o uses the ordinary mark ring and
corresponds to Emacs' C-u C-<SPC>. A global implementation could use
the global mark ring, corresponding to C-x C-<SPC>.

Where is the conflict/difference?


More information about the implementations-list mailing list