Monday, January 27, 2014

Re: How to Move/Copy multi-line search matches?

On Monday, January 27, 2014 8:48:47 AM UTC-6, Sibin wrote:
> On Mon, Jan 27, 2014 at 1:56 PM, John Little <John.B.Little@gmail.com> wrote:
> > How about using //e to extend a visual selection?
> >
> > Say the current search is your multi-line pattern, then
> >
> > :let @a=""
> > :g//exe "normal v//e\<cr>$\"Ay"
> >
> > appends the text of each match into register a, as whole lines (thanks to the $).
> >
> Thanks for the reply John.
> This method isn't good enough for my use case since I want to copy all
> of the matches simultaneously, not just one of them.
>
> However, this method will work when used as part of a macro and is
> something which I already used.
> I was looking for a single step method.
>

This should work to copy all of the matches. Why do you think it will only copy
one? It does a :g command on the last search pattern, which will execute for
every line that matches your search. The command it runs will copy the match,
APPENDING it to the 'a' register. So, after the command runs, all matched text
should be in the 'a' register and you can paste it with the normal-mode command:

"ap

--
--
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+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments: