On Fri, Aug 1, 2014 at 6:38 AM, Edward K. Ream <[email protected]> wrote:

> This strategy has been a spectacular success.  As of rev d9cca94...
[big snip]

The ultimate reason for this success is that throughout the
experimentation process I have been guided by how vim actually works.
I have vim open at all times, and when I want to discover what happens
in vim I just take a look.

This see-what-vim-does "meta-strategy" seems obvious only in
retrospect.  It's much better than studying either vim's code or
documentation.  That study hasn't been a total waste: it gave me an
overall impression of vim's code and commands.

As a result of this meta-strategy, I am now much more comfortable with
the real vim, especially u and Ctrl-R :-)  I'm not sure whether I'll
ever be truly comfortable with vim mode.  We shall see.  In this
regard, the difference in cursors between normal, input and visual
modes are surprisingly important visual cues.  I'll be adding those
cues to Leo's vim mode asap.

In short, I am tremendously excited by the present state of Leo's vim
project. It's much farther along than I dared hoped.

Edward

P.S. A crucial part of the recent success was abandoning the idea of
allowing "flexible" vim-bindings.  Even with hard-coded bindings, the
simplest thing that could possibly work (as far as code goes) is far
from simple!  Adding extra complexity would have made the
vim-emulation code too complex to understand or to get right.

P.P.S. A hinted above, I have studied vim's actual C code in detail.
The uniformity (as far as it goes) of the real vim's commands is made
possibly only with some hairy scanning hacks.

Leo's vim-emulation scanning code is also fairly complicated.
However, Leo's code should remain simpler than the real vim's code.
Imo, the real vim doesn't use enough helper functions.  Perhaps it was
a matter of style; perhaps the original developers were too concerned
with scanning speed.  Certainly that speed is completely irrelevant
today.

EKR

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.

Reply via email to