tags:

views:

463

answers:

3

After I run a grep search in vim with :grep, I get a list of files. Is there a way to select one of those files and open it in a new tab at that particular line?

A: 

If you get a list of files you can browse them in a tree-like manner via

:cn
:colder

For more information

:help grep

and scroll to the bottom of the entry

ezpz
+3  A: 

For achieving what you want you have to open the quickfix/error window after calling grep:

:copen

I have a script that makes it for me every time i use grep.

Lucas S.
How do you make the files open in a new tab at that particular line?
jinxed_coder
+2  A: 

Just for completeness, as well as the :copen command, there's also :cw, which only opens the "quickfix" window if there are entries (so if your grep has no results, it won't appear).

I think the easiest way (without defining a mapping) of making the files open in a new tab would be to do:

:cw                " Open the quickfix window
Ctrl-W T           " Switch the window into a new tab
<ENTER>            " Open the file/line

Alternatively, you could do:

:cw                " Open the quick fix window
Ctrl-W <ENTER>     " Open the file/line in a new window
Ctrl-W T           " Move the new window to a new tab

If you want to do it by default, you could probably use the BufEnter and BufLeave autocmds to create and remove a mapping when entering and leaving the quickfix window; however, this is probably not trivial.

:help :cw
:help :copen
:help quickfix
Al
+1 Thanks for the extra details
David Oneill