On Apr 8, 11:00 am, "Edward K. Ream" <[EMAIL PROTECTED]> wrote:

> A small joke: this disappears after the recent change to
> leoEditCommands.editWidget because the left and right arrow keys are
> pretty messed up.  I'll be noodling over this for awhile.  I don't
> want to break all the edit commands by reverting editWidget, but
> trying to make sense of when focus "really" belongs in the minibuffer
> might make my head explode...

One possibility: define a set of minibuffer-specific commands,
corresponding to the commands in

@shortcuts Minibuffer commands/bindings

in leoSettings.leo.  Here are the present bindings:

full-command            = Alt-x
keyboard-quit           = Ctrl-g
negative-argument       = None      # Alt-minus conflicts with
contract-all.
repeat-complex-command  = Ctrl-P
universal-argument      = Alt-u     # Usually Ctrl-u, conflicts with
move-outline-up.

# Top-level bindings are *not* inherited in the minibuffer!
copy-text           ! mini = Ctrl-c
cut-text            ! mini = Ctrl-x
paste-text          ! mini = Ctrl-v
save-file           ! mini = Ctrl-s

# Important: at present binding to BackSpace in the minibuffer causes
problems.
# backward-delete-char                ! mini = BackSpace

back-char                           ! mini = LtArrow
back-char-extend-selection          ! mini = Shift-LtArrow
back-word                           ! mini = Alt-b
back-word-extend-selection          ! mini = Alt-Shift-b
# back-word                           ! mini = Ctrl-LtArrow
# back-word-extend-selection          ! mini = Ctrl-Shift-LtArrow
backward-kill-word                  ! mini = Alt-Delete
beginning-of-line                   ! mini = Home
beginning-of-line-extend-selection  ! mini = Shift-Home
beginning-of-line                   ! mini = Ctrl-a
beginning-of-line-extend-selection  ! mini = Ctrl-Shift-a
dabbrev-completion                  = Alt-\
dabbrev-expands                     = Alt-Ctrl-\
end-of-line                         ! mini = End
end-of-line-extend-selection        ! mini = Shift-End
end-of-line                         ! mini = Ctrl-e
end-of-line-extend-selection        ! mini = Ctrl-Shift-e
forward-char                        ! mini = RtArrow
forward-char-extend-selection       ! mini = Shift-RtArrow
forward-word                        = None ### ! mini = Alt-f
# Usually opens file menu.
forward-word-extend-selection       = None ### ! mini = Alt-Shift-f
# forward-word                        ! mini = Ctrl-RtArrow
# forward-word-extend-selection       ! mini = Ctrl-Shift-RtArrow
kill-line                           ! mini = Ctrl-K
select-all                          ! mini = Alt-Shift-A
yank                                ! mini = Ctrl-Y

# Find options.  Important: conflicts with non-minibuffer bindings do
not matter here!
find-next                           ! mini = F3
find-prev                           ! mini = F2
change                              ! mini  =Ctrl-=
change-then-find                    ! mini = Ctrl--

set-find-everywhere                 ! mini = Alt-Ctrl-e
set-find-node-only                  ! mini = Alt-Ctrl-n
set-find-suboutline-only            ! mini = Alt-Ctrl-s
toggle-find-ignore-case-option      ! mini = Alt-Ctrl-i
toggle-find-in-body-option          ! mini = Alt-Ctrl-b
toggle-find-in-headline-option      ! mini = Alt-Ctrl-h
toggle-find-mark-changes-option     ! mini = Alt-Ctrl-c
toggle-find-mark-finds-option       ! mini = Alt-Ctrl-f
toggle-find-regex-option            ! mini = Alt-Ctrl-x
toggle-find-reverse-option          ! mini = Alt-Ctrl-r
toggle-find-word-option             ! mini = Alt-Ctrl-w
toggle-find-wrap-around-option      ! mini = Alt-Ctrl-a

We needn't augment  commands such as the toggle-x commands that do not
affect the cursor, but we might define commands corresponding to, for
example,

back-char
back-char-extend-selection
back-word
back-word-extend-selection

like this:

minibuffer-back-char                           ! mini = LtArrow
minibuffer-back-char-extend-selection          ! mini = Shift-LtArrow
minibuffer-back-word                           ! mini = Alt-b
minibuffer-back-word-extend-selection

etc!

These commands would bypass editCommands.editWidget().  That is, they
would always use the minibuffer widget as their target.

It's not clear whether this approach is too ugly to survive.  I'll
keep it the back of my mind, though.

**Important**: I've known all along that the vim-bindings project
wasn't going to be easy, so I am in no way surprised or disheartened.
Making Leo "just work" with regard to bindings is always going to be a
big, big task.

Edward

P.S. Most (all?) of the difficulties come from allowing user-specified
bindings for the minibuffer.  I'm not going to give this up,
regardless of the difficulties.

EKR
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To post to this group, send email to leo-editor@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/leo-editor?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to