Excellent!

For me the main obstacle in adopting Leo was Vim. Vim is so powerful and 
efficient, you can work by keyboard only.

Thanks Edward, for your endeavor and work.
Zoltan


On Wednesday, July 23, 2014 3:54:36 PM UTC+3, Edward K. Ream wrote:
>
> Encouraged by the success of the simplified persistence project, I am 
> going to restart the vim-emulation project.
>
> All aspects of the design will be based on simplicity and accuracy. I have 
> spent several hours recently playing with vim and noticing subtleties about 
> vim's screen and handling of the dot. I shall attempt the best possible 
> emulation of vim, constrained by the following simplifying principles:
>
> 1. For now, and probably forever, the code will assume the typical vim key 
> bindings.  Not sure about vim key mapping, but that can wait.
>
> 2. The vim key bindings will apply only to plain keys (when @bool vim_mode 
> = True).  Leo's existing key bindings will still apply for non-plain (Alt, 
> Ctrl, Meta) keys, even when vim_mode is True.  However, it's possible that 
> a few control keys will be handled differently in vim_mode in a hard-wired 
> way...
>
> This "great divide" of keystrokes is the simplest thing that could 
> possibly work.  Furthermore, it allows the vim emulation to work in the 
> much-more-complex Leonine environment *without* having to change any plain 
> vim bindings!  The trick is to use the Leo bindings for the Alt-Arrow keys 
> and <return> to shift focus to and from the outline. <Return> never makes 
> any sense when in the outline (in vim insert mode), so it may as well shift 
> focus back to the body pane and enter normal mode.  Slick.
>
> This "great divide" does have a few complications involving non-plain 
> keys, especially Ctrl-G and Ctrl-R, but we'll muddle through somehow.  The 
> point is that vim is focused on plain keys, so getting them *exactly* right 
> is the main problem.
>
> 3. I'll attempt as accurate an emulation as possible, including "Visual" 
> and "Selection" modes, and especially attempting to recreate the cursor and 
> selection areas exactly.  I don't necessarily plan a *complete* emulation 
> of every possible combination of plain keys.  I'll start off with the most 
> useful, and add others if and when anyone requests them.
>
> 4. Vim emulation will be based on a set of "official" commands whose names 
> start with "vim_":  vim_a, vim_dot, etc.  These commands will update vim's 
> dot as appropriate, and emulate the corresponding vim commands as closely 
> as possible.
>
> 5. Vim's ':' key in normal mode will probably be a synonym for Alt-X.  
> This seems reasonable because ":" commands do not affect the dot.
>
> That's all for now.  Your comments and corrections are welcome.
>
> I expect to be able to use vim mode comfortably myself in just a few days.
>
> Edward
>
>

-- 
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 leo-editor+unsubscr...@googlegroups.com.
To post to this group, send email to leo-editor@googlegroups.com.
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