RE: Grep in loaded buffers
- Thanks to all!
worked well; I'll also look up those grep utils, hari.
>> What is the easiest way to grep in all the files in the buffer list?
>> i.e. I would like to do a find (/) but in all buffers, not just the
>> current one.
>I don't think there's an easy way to get the normal "find" (/) to
>continue to the next buffer. However, you can perform any Ex
>command across all buffers using the "bufdo" command. Thus, you
>could do something like
> :bufdo g/regexp/#
>which would return the line-numbers of the lines on which
>"regexp" is found in all buffers. It has cousins "argdo" and
>"windo" which work similarly for arguments and windows. Things
>other than "#" can be used if needed...if you needed to delete
>all lines containing "regexp", you could change the "#" to a "d".
> Note that for items that change the buffer you won't be able to
>leave the window unless you've either saved it (appending "|w" to
>the command) or by setting 'hidden' (my preferred method, as it
>allows you to review changes before doing a ":wall")
>For more info, see
> :help bufdo
> :he argdo
> :he windo
>-----Original Message-----Yeah. Well. That's what I get for answering a question with half my
>From: Antoine J. Mechelynck [mailto:antoine.mechelynck@...]
>Sent: Monday, November 01, 2004 10:36 AM
>To: Keith Roberts; ralph.henderson@...; vim@...
>Subject: Re: Grep in loaded buffers
>Keith Roberts <kroberts@...> wrote:
>> How about something like:
>> :let @a = ''
>> :redir @a
>> :bufdo s/text/text/
>> :redir end
>> [This is untested; I don't know whether it will write to the current
>> @a or @a for each buffer.]
>AFAIK, there is no different @a for each buffer.
brain thinking about something else. :) Maybe I had 'a in mind. :))
- 'easiest' is somewhat subjective. If you want something 'easy' to remember
and which has 'ease' of flexibility, I would suggest:
VimgrepBufs <regexp> [options]
VimgrepBufsToBuf <regexp> [options]
The first outputs the search info to the command line, like :g/regexp....
However, unlike :g/..., it gives info on pattern not found, etc. The second
outputs the search info to a named buffer, a bit more complicated to do with
command VimgrepBufs srchpat[ -M][ -t]
command VimgrepBufsToBuf srchpat[ -M][ -t]
Where: -M == 'match case' and -t == 'terse', i.e., no 'not found' type info.
http://www.vim.org/account/profile.php?user_id=5397 vimgrep.vim vsutil.vim
From: Ralph Henderson [mailto:ralph.henderson@...]
Sent: Monday, November 01, 2004 12:05 PM
Subject: Grep in loaded buffers
Sorry if this is obvious or documented.
What is the easiest way to grep in all the files in the buffer list?
i.e. I would like to do a find (/) but in all buffers, not just the