Le mercredi 11 février 2015 21:54:54 UTC+1, Enno a écrit : > Le mardi 10 février 2015 09:22:35 UTC+1, Enno a écrit : > > Hello, > > > > There is a thread on StackOverflow labelled > > > > "How to get visually selected text in VimScript" > > > > The naive and stable approach would be > > > > let old_reg = @v > > normal! gv"vy > > let raw_search = @v > > let @v = old_reg > > return raw_search > > > > but that only works if `set nosecure`. If `set secure` then > > the functions become involved. I posted my own take at > > > > http://stackoverflow.com/questions/1533565/how-to-get-visually-selected-text-in-vimscript/28398359#28398359 > > > > but it handles neither block-wise selections nor multibyte columns. A > > function that supports both is for example given at > > > > https://github.com/haya14busa/vim-asterisk/blob/4fda3a4d90926512fbb10eda8b7b0491c650eb5e/autoload/asterisk.vim#L163 > > > > Is there a simple solution at all? > > > > Enno > > You are right. Thanks for your patience. > > I cannot reproduce this dependency on the function > residing in the autoload folder. So in the end the > explanation given at :help E523 was a red herring. > > I erroneously thought of <expr> mappings and expression register > mappings as equivalent but found the former more easily readable. > > I don't know if there are situations when an <expr> mapping cannot > be reproduced by an equivalent expression register mapping, or if > there are other instances when the normal command is impossible.
Just encountered such a situation: If <CR> shall close the completion popup menu and otherwise open a new line, then only inoremap <expr> <CR> pumvisible() ? "<C-Y>" : "<C-]><CR>" works. The try inoremap <CR> <C-R>=pumvisible() ? "<C-Y>" : "<C-]><CR>"<CR> does not work because abbreviations will not expand anymore. Apparently the command <C-]> comes to late. -- -- You received this message from the "vim_use" 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_use" 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.
