Edward, Thanks much for taking another look at this. I have continued to try to track down the issue.
I am typing a colon -- meaning I am typing Shift and the key that contains the colon and semi-colon. For whatever reason, the log file message references semi-colon and appears to be missing the fact that the shift key is pressed. If I am insert mode, I get the expected colon. And since I can type any cap character, I don't think it's my shift key. I have just tried completely commenting out the @settings in the global leosettings, which, as an aside is pretty interesting to see Leo with absolutely no settings active. Alas, the problem continues. I am willing to bet 50 cents that there is actually some global setting that is necessary for a colon to place you in command mode although that's easy for you to test -- just remove all your global settings and only have vim-mode = True in personal settings and see what happens. Separately, I'll try to find another computer to see if there is ghost somewhere in my current machine. Again, thanks for taking another look at this. Leo is invaluable but shifting back and forth between different editing frameworks is frustrating and if I could use vim-style bindings it would be a major advance. Steve On Thu, Aug 14, 2014 at 7:13 AM, Edward K. Ream <[email protected]> wrote: > On Wed, Aug 13, 2014 at 8:33 PM, Steve Zatz <[email protected]> wrote: > >> recommend looking at the output of the print-bindings and > print-settings > >> commands > > Here are the key bindings. Not sure what I am looking for but nothing > > stands out as being in conflict with responding to a ":" in normal mode. > > Thanks for this. > > My apologies for the problems you are having. I'm sure it's frustrating. > > This is a strange one. Let's do some sleuthing right now. > > The message about ignoring ":" in normal mode is coming from the > vc.ignore method. I see from an earlier post that the statement > g.trace(g.callers()) in vc.ignore yields: > > ignore masterKeyHandler,do_key,do_normal_mode,do_state > > vc.do_normal mode is just:: > > def do_normal_mode(vc): > vc.do_state(vc.normal_mode_dispatch_d,'normal') > > That is as expected. Looking at the code for do_state, we see the > following, slightly edited:: > > func = d.get(vc.stroke) > if func: > func() > elif vc.is_plain_key(vc.stroke): > vc.ignore() > else: > vc.delegate() > > For vc.ignore to be called, both of the following must be true: > > 1. vc.stroke is not in vc.normal_mode_dispatch_d > (the dict passed to vc.do_state by do_normal_mode) > > 2. vc.is_plain_key(vc.stroke) is True. > > But 'colon' *is* in the vc.normal_mode_dispatch_d! > > Whoa! I went back an re-read your original message. It is:: > > ignoring semicolon in normal mode > > Oops. You must type a colon, not a semicolon. If your eyes are > anywhere as old as mine, it's easy to confuse ':' and ';'. > > I should have picked up on the "ignoring semicolon" message much > earlier. Again, my apologies. Here's hoping all is well now. > > 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 [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. > -- 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.
