On 2015-05-28 13:54, skeept wrote:
> He would use find with a string or regular expression. Then he can
> mark all matching lines. He can repeat the process with several
> strings.
> 
> After that he would copy all the marked lines and paste to another
> window.

The common way to do this is to pull the matches into a register:

  :let @a='' | g/pattern/y A

This will gather all the lines matching "pattern" into the "a"
register which you can paste within vim

  :new
  "ap

or assign to the system clipboard:

  :let @+=@a

If you have multiple search terms, you can (as you mention) build the
expression out of the gate (or incrementally thanks to Vim's
command-line history):

  :let @a='' | g/pattern1\|pattern2\|pattern3/y A

That is what I usually do when I want this functionality.

If you want to build it incrementally by searching instead, you can
use the search register, recall the previous search, and append your
additional term

  /pattern1<cr>
  /<up>\|pattern2<cr>
  [repeat until you have all the terms you want]
  :let @a='' | g//y A

There might be some plugins that simplify these actions, but under
the hood they would likely do the same thing as this.

-tim


-- 
-- 
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.

Reply via email to