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
Hello Ben, The function throws an error E523 that, by :help E523, appears only if &secure. To reproduce, put set secure fun! grep#GetVis() let old_reg = @v normal! gv"vy let raw_search = @v let @v = old_reg return raw_search endfun in ~/.vim/autoload/grep.vim and source set secure xnoremap <expr> * '/' . grep#GetVis() . '<CR>' Then hitting viw* throws Error detected while processing function grep#GetVis: line 2: E523: Not allowed here instead of searching for the selected text. -- -- 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 vim_use+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.