> > Implementation really does not switch any modes, it just instead of
> > using something like a list of mapping tables {builtin_commands,
> > global_mappings, local_mappings} special-cases all built-ins and uses
> > plain_vgetc function in C code unconditionally waiting for next
> > character.
> 
> Maybe I missed something in your explanation, but I still doesn't
> understand why first Z mapped from Russian char but not second Z.
> Or special-case handling begins _after_ entering first Z, so first and
> second Z read by Vim using different implementations? Sounds like a bug.

After first Z it uses plain_vgetc to get next character (which is a 
special-case because all user mappings use different method). plain_vgetc does 
not do any remapping.

> Anyway, if no one bothers fixing this, where I can find list of all such
> special-case key combinations, to manually add mapping for them all in my
> plugin?

`:h normal-index`. Note that you have to remap also m…/`…/'… (ьф…ья → ma…mz, 
ьФ…ьЯ → mA…mZ, same for other), @… (accepts A-Z and all other register names in 
addition to a-z listed in `:h normal-index`), f…/F…/t…/T… (accepts anything), 
r… (accepts anything), do/dp, maybe something else in addition to commands 
listed under `:h g`, `:h z` and `:h [`.

-- 
-- 
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/groups/opt_out.


Raspunde prin e-mail lui