On 28/02/09 21:33, Kenneth R. Beesley wrote:
> Hello Tony,
>
> Thanks for the response.
>
> In insert my comments inline:
>
> On Feb 27, 9:31 pm, Tony Mechelynck<[email protected]>
> wrote:
>> On 27/02/09 19:20, Kenneth Reid Beesley wrote:
>>
>>
>>
>>
>>
>>> I'm using gvim 7.2 on OS X 10.5.6.
>>> When using gvim and keymaps, one can allegedly define mappings using
>>> Alt-modified keys using the<A-x> syntax.
>>> However, the gvim GUI normally uses Alt-modified keystrokes, so to
>>> avoid having the gvim GUI intercept the Alt-modified keystrokes, one
>>> needs to specify
>>> set guioptions-=m
>>> Do I assume correctly that 'set guioptions-=m' should appear
>>> in .vimrc or .gvimrc? I've got it in my .gvimrc file, but
>>> " retroflex
>>> <A-s> <char-0x0282>
>>> <A-z> <char-0x0290>
>>> <A-r> <char-0x027D>
>>> don't work for me. It seems like they're still being caught as
>>> commands by the GUI. The Cntrl-modified syntax (e.g.<C-s>) works fine.
>>> What am I doing wrong?
>>> Thanks,
>>> Ken
>> To define those mappings, you should first have made sure that
>> 'encoding' has already been set to UTF-8 if the current Vim version
>> supports it. How to do so can be explained, but it falls outside the
>> scope of the present reply.
>
> KRB: My system locale and the (g)vim encoding are UTF-8.
>
>
>> Then you should define them has follows:
>>
>> if has('multi_byte')
>> map<A-s> <Char-0x0282>
>> " LATIN SMALL LETTER S WITH HOOK
>>
>> map<A-z> <Char-0x0290>
>> " LATIN SMALL LETTER Z WITH RETROFLEX HOOK
>>
>> map<A-r> <Char-0x027D>
>> " LATIN SMALL LETTER R WITH TAIL
>> endif
>>
>> Notes:
>> - It might be better to define these in a keymap,
>
> KRB: They are, in fact, in a keymap, namely my own
>
> ~/.vim/keymap/hopi-postfix_utf-8.vim
>
> I have created a number of such keymaps, all UTF-8, for Hopi
> orthography/IPA, for English IPA, for Shavian and Deseret Alphabet,
> and they work perfectly except for Alt-modified (<Alt-whatever>)
> mappings.
> If I change the<A-s>,<A-z> and<A-r> inputs to Cntl inputs (<C-s>,
> <C-z> and<C-r>, respectively) then they work perfectly.
>
>> or by using lmap
>> rather than map. The keymap, if used, should have utf-8 in its name, for
>> instance keymap/imaginarylanguage_utf-8.vim. In a keymap, after the
>> "loadkeymap" line, the lines you wrote are correct, but they would
>> benefit by a comment at the end.
>> - Instead of :map, you might want :map!, :imap, etc., see ":help
>> map-overview"
>> - In Vim, Alt-r, Alt-s, Alt-z are respectively synonymous with ò LATIN
>> SMALL LETTER O WITH GRAVE, ó LATIN SMALL LETTER O WITH ACUTE, and ú
>> LATIN SMALL LETTER U WITH ACUTE, so if you need these it's a bad idea to
>> use Alt-r Alt-s and Alt-z for the {lhs} of a mapping except in a keymap
>> or lmap (which can be turned on and off at any moment).
>
> KRB: The same hopi-postfix keymap has entries for equivalent letters,
> but using
> Combining Diacritical Marks, and using input sequences that make sense
> to me, e.g.
>
> loadkeymap
> a` a<char-0x0300> " a followed by combining grave accent
> e` e<char-0x0300>
> i` i<char-0x0300>
> o` o<char-0x0300>
> u` u<char-0x0300>
>
> a/ a<char-0x0301> " a followed by combining acute accent
> e/ e<char-0x0301>
> i/ i<char-0x0301>
> o/ o<char-0x0301>
> u/ u<char-0x0301>
>
> a^ a<char-0x0302> " a followed by combining circumflex accent
> e^ e<char-0x0302>
> i^ i<char-0x0302>
> o^ o<char-0x0302>
> u^ u<char-0x0302>
>
> o" o<char-0x0308> " o followed by combinine diaeresis
>
> o"` o<char-0x0308><char-0x0300> " o followed by combining diaeresis
> and grave
> o"/ o<char-0x0308><char-0x0301>
> o"^ o<char-0x0308><char-0x0302>
>
> etc.
>
> They all work perfectly, as do the following three
>
> " retroflex
> <C-s> <char-0x0282> " LATIN SMALL LETTER S WITH HOOK
> <C-z> <char-0x0290> " LATIN SMALL LETTER Z WITH RETROFLEX HOOK
> <C-r> <char-0x027D> " LATIN SMALL LETTER R WITH TAIL
>
> But if I change these last three to<A-s>,<A-z> and<A-r> (which is
> what I really want), they don't work, even though I have
> set guioptions-=m
>
> in my .gvimrc.
What is your 'winaltkeys' setting?
:verbose set wak?
If you want alt-keys to be never used for menus and always mappable, you
should
set winaltkeys=no
which is not the default.
In that case you can still keep the menubar on (leave the m flag in
'guioptions') and access menus with the mouse, or even by keyboard by
means of the ":emenu" command.
The following allows using the Vim menus even in Console mode:
if !has('gui_running')
runtime! menu.vim
" It's never done automatically in Console mode.
" For GUI mode the m flag of 'guioptions' does it.
" We assume that it's on.
endif
set wildmenu
set wildcharm=<C-T> " or any key not needed in command-line mode
map <C-Z> :emenu <C-T>
imap <C-Z> <C-O>:emenu <C-T>
" for the default meaning of Ctrl-Z (minimize) we can always use
" :suspend
>
> Thanks for your help,
>
> Ken
>
>
>> Best regards,
>> Tony.
--
"You can't make a program without broken egos."
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---