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. 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
