On Fri, May 27, 2011 at 7:39 AM, Richard Guse <[email protected]> wrote:

> On Thu, May 26, 2011 at 5:00 PM, Ben Schmidt <
> [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.
>


Finally made a little progress this morning.

The problem finally appeared in another application - albeit for a very
short time and has not recurred - so we think it has something to do with
the VMWare view client used to connect to the box rather than the box itself
or the VIM application specifically.

The fix noted above has been working and I haven't had VIM create the issue
since I modified the ZZ command to sleep for a spell before committing
(thanks!).

I don't know why VIM showed the problem so dramatically.

Thanks!

-- 
You received this message from the "vim_use" 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

Reply via email to