On Thu, Dec 31, 2015 at 12:30 AM, Roland Puntaier
<[email protected]> wrote:
> On 12/30/2015 9:59 PM, Tony Mechelynck wrote:
>
>> The help for i_CTRL-R says "The text is inserted as if you typed it, but
>> mappings and abbreviations are not used."; language-mappings (keymaps) are
>> not used either, so that e.g. in an HTML file in Russian, when I hit ^Ri
>> what gets inserted is <i> (the contents of the register) and not <и> which
>> wouldn't be a proper HTML tag, even if at that point my "cyrillic-phonetic"
>> keymap is enabled ('iminsert' = 1).
>
>
>> Does 'iminsert' apply to this option too? I couldn't find the answer in
>> the help for any of 'langmap', 'iminsert' and i_CTRL-^ (maybe translate even
>> text typed in Insert mode when 'iminsert' is 0 [to insert Latin text] but
>> not when it is 1 [to insert Cyrillic text])?
>
>
> :set keymap=russian-jcukenwin
> Will set iminsert=1. So this means keymap set.
> ^Ri is completely independent of keymap and it remains so with my patch.
>
>> I'm not very familiar with the 'langmap' option but I would expect
>> registers containing Cyrillic text to be pasted in Cyrillic and registers
>> containing Latin text to be pasted in Latin in that case too.
>
>
> If you had e.g. a russian keyboard layout, you wouldn't be able to use vim,
> e.g. to move around in normal mode, like with the english keyboard's hjkl.
> langmap will translate ролд to hjkl.
> While langmap applies for normal mode, keymap works in INSERT and CMDLINE
> mode.
> Langmap will not apply for CMDLINE, so you will not be able to enter vim
> commands like :g, because the g is п on the russian keyboard. So langmap is
> probably not very useful.
> Keymap on the other hand will keep the english keyboard in normal mode and
> for : commands. So you can still enter :g. It applies for /, so you can
> search for russian text. (Behavior not changed with my patch.)

I see. Sounds like we need to:
(a) make langmaps apply to command-line mode by default, so Russian,
Greek, etc. users can type ex-commands by using them;
(b) implement some way of toggling them on/off "on the fly" so we could e.g. do
        :let list = [{name: "Иван", patronym: "Петрович", family:
"Михайлов", city: "Москва"}, {name: "Ирина", patronym: "Андреевна",
family: "Свердлова", city: "Санкт-Петербург"}, {name: "Фёдор",
patronym: "Афанасьевич", family: "Воронин", city: "Нижний Новгород"}]
etc., even with a Cyrillic layout used with langmap.

Best regards,
Tony.

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

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui