Robbo wrote:
>
> I need to write a command that acts as following:
>
> 1) Serach in the current file for all the match of regular expression
> X.
> 2) Insert at the cursor's current position the matches just founded.
>
> Could you give me some hints?
if you need only the first match in each line the following will work:
put =map(filter(getline(1, '$'), 'match(v:val, ''your-pattern'') > -1'), 'matchstr(v:val, ''your-pattern'')')
getline(1, '$') retrieves the content of the current file as a list. This
list is filtered agains your pattern with
'match(v:val, ''your-pattern'') > -1'
The result of filter() is again a list of lines. Each of those lines is
replaced by the result of
matchstr(v:val, ''your-pattern'')
leaving you with a list of the first matches in all lines.
Regards,
Jürgen
--
Sometimes I think the surest sign that intelligent life exists elsewhere
in the universe is that none of it has tried to contact us. (Calvin)
--
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
No comments:
Post a Comment