|
Hi, I'm trying to map the keys CTRL+Z to undo, and CTRL+SHIFT+Z to redo. I've tried the following mappings: inoremap <C-Z> undo_test inoremap <C-S-Z> redo_test when I press CTRL+Z or CTRL+SHIFT+Z they produce the same result, inserting the text redo_test. When I run imap to see the current mappings I get: <C-Z> * redo_test vim seems to treat <C-Z> and <C-S-Z> as the same key being mapped. this is further confirmed when I do the following: In insert mode, pressed CTRL-V. pressed CTRL+Z, got ^Z In insert mode, pressed CTRL-V. pressed CTRL+SHIFT+Z, got ^Z this is however not the case with other keys like CTRL+SHIFT+Right and CTRL+SHIFT+Right. In that case vim sees the difference and I get two mappings. In insert mode, pressed CTRL-V. pressed CTRL+Right, got <C-Right> In insert mode, pressed CTRL-V. pressed CTRL+SHIFT+Right, got <C-S-Right> I'm running the following: gvim 7.1 Ubuntu Linux 8.04 any help is much appreciated. cheers, Marwan --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_use" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~--- |
|
[...] > vim seems to treat <C-Z> and <C-S-Z> as the same key being mapped. > this is further confirmed when I do the following: [...] > this is however not the case with other keys like CTRL+SHIFT+Right > and CTRL+SHIFT+Right. In that case vim sees the difference and I get > two mappings. [...] > gvim 7.1 What you are seeing is normal. It's a limitation Vim has that's leftover from terminals where there was no distinction between shifted and unshifted control keys. Since then, some terminals are able to distinguish between various modified cursor keys, and Vim has been updated to recognise these, but it still hasn't been updated to in any way distinguish shifted and unshifted 'letter' control keys. Ben. --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_use" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~--- |
|
In reply to this post by Marwan Al-Sabbagh
On Mon 17-Nov-08 6:04am -0600, Marwan Al-Sabbagh wrote: > I'm trying to map the keys CTRL+Z to undo, and CTRL+SHIFT+Z to > redo. I've tried the following mappings: > > inoremap <C-Z> undo_test > inoremap <C-S-Z> redo_test As Ben pointed out, the Control key doesn't recognize case :-( However the Meta/Alt key does on my Windows machine: :map <m-z> :echo "Meta z"<CR> :map <m-Z> :echo "Meta Z"<CR> Works fine. -- Best regards, Bill --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_use" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~--- |
|
On 17/11/08 20:09, Bill McCarthy wrote: > On Mon 17-Nov-08 6:04am -0600, Marwan Al-Sabbagh wrote: > >> I'm trying to map the keys CTRL+Z to undo, and CTRL+SHIFT+Z to >> redo. I've tried the following mappings: >> >> inoremap<C-Z> undo_test >> inoremap<C-S-Z> redo_test > > As Ben pointed out, the Control key doesn't recognize case :-( > However the Meta/Alt key does on my Windows machine: > > :map<m-z> :echo "Meta z"<CR> > :map<m-Z> :echo "Meta Z"<CR> > > Works fine. > Just beware of using them in Insert mode if you use accented characters: to Vim, Alt-z is ú "small u with acute" and Alt-Z (Alt-shift-z) is Ú "capital U with acute". Similarly for other Alt-key combinations. The safest keys to map (keys that don't have any meaning to Vim) are the F keys, except F1 which means Help, and, on some systems, F10 which means Menu. Also, to use them together with Shift, Ctrl and/or Alt, you may have to check which combinations Vim can detect. (On my Linux system with KDE, the window manager intercepts Ctrl-Fn and Alt-Fn to switch virtual desktops, the kernel intercepts Ctrl-Alt-Fn to switch virtual consoles, and no program ever sees any of them. Shift-Fn can be used though.) Best regards, Tony. -- What garlic is to salad, insanity is to art. --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_use" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~--- |
| Powered by Nabble | Edit this page |
