On 09:20 Sun 23 Sep , Marcin Szamotulski wrote:
> Hello
>
> The c_CTRL-\_e (<C-\>e) maps inside expression register are not working.
> There is a very nice emacscommandline
> (http://www.vim.org/scripts/script.php?script_id=3554)
> plugin which defines lots of nice maps in this way, but then when one
> tries to write to expression register one gets errors. The minimal setup
> to reproduce this is:
>
> fun X()
> return 'echo "X"'
> endfun
> cnoremap X <C-\>eX()<CR>
>
> Now please try in insert mode:
> <c-r>=X
> and after pressing X I get the following error:
> E15: invalid expression: ^eX()
> E15: invalid expression: ^eX()
>
> I got it twice. I think it would be nice to have the <C-\>e maps
> working inside expression register (and in this case it would be nice of
> vim script knew it, for example through including the '=' into to
> getcmdline()) or to disable the <C-\>e maps inside the expression
> register.
>
> Best regards,
> Marcin
In case somebody will stumble across this post, the solution that
I found for this is to define another map:
cnoremap <C-b> <C-R>
etc ... . It will not trigger the emacscommand line maps. One just has
to remember to not to use <C-W> while entering things into the
expression register (which is used rarely, so there is not much
opportunity to learn it, and lots of chances to forget it ;)
But this is far from perfect.
Best regards,
Marcin
--
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