Below is a message from vim_use where we've partially identified the
cause of some bug. Maybe there's a Windows dev here who has some more
ideas, or could reproduce it and track it down? I'm afraid I'm pretty
useless from here.

Smiles,

Ben.



On Thu, May 26, 2011 at 5:00 PM, Ben Schmidt <[email protected]
<mailto:[email protected]>> wrote:

    On 27/05/11 1:02 AM, Richard Guse wrote:

        I'm using Vim 7.3 7/20/2010 under Windows 7.

        I usually start gvim from the command-line but sometimes from
        Windows Explorer.

        After I start, do my work then use "ZZ" to save/exit, it leaves
        the keyboard in a strange state relating only to the window
        which was used to start gvim:

           before:  abc123
           after:  ABC!@#
           after (shift key):  ABC!@#
           after (caps lock):  abc!@#

        There seem to be two ways to fix it...

           1. exit and restart the window
           2. in a bad window, re-start vim then type any command...even
           typing ":" and exiting the window with the mouse works.  Just
           starting it then closing the window doesn't fix it -
           something must be typed.

        This doesn't happen with vim.
        This doesn't happen with gvim if exited with :wq or :x.

        I haven't noticed this behavior with any other application.

        I've noticed several tips and messages relating to mapping caps
        lock to escape but I don't map default keys.

        I'm hoping someone here has seen this before as its driving me
        nuts.  It is incredibly difficult to retrain myself to :wq or :x
        rather than ZZ.  I even tried mapping ZZ to :x and it still
        happens.

    Hmm. I guess it happens because Gvim does something keyboard-related
    when it exits, but when you use ZZ, at that point the shift key is
    depressed. To test the theory try doing

       :noremap ZZ 2gsZZ

    That will put in a 2 second delay before exiting, which should be
    more than enough time for you to release the shift key. See if that
    helps. If it does, check you can reproduce the bad behaviour by
    continuting to hold the shift key until after the 2 second delay
    passes and Vim exits.

That's it exactly!

I can now re-produce it not only by the above method but also by typing
:q!<enter> but not lift the shift key when pressing enter.  Curiously,
some capital letter must be pressed as :x<enter> while shift is pressed
does not do it.  Explains why maping ZZ to :x doesn't fix the problem.

I reduced it to 1 second ":normap ZZ gsZZ" which appears to be plenty.
The delay is slightly annoying but much less annoying than funky caps
lock. ":noremap ZZ :sleep 300<CR>ZZ" works even better.  :)

Still can't re-produce it in any other application.  It must be unique
to vim and my environment.

Thanks.



--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui