Hi Christian!

Thanx, this is just what the doctor ordered...

Asis

2010/10/26 Christian Brabandt <[email protected]>

> Hi Asis!
>
> On Di, 26 Okt 2010, Asis Hallab wrote:
>
> > I recently discovered and used vim's
> > args and argdo commands.
> >
> > Now I wonder if there's a way to execute a command over all
> search-results
> > in the quickfix or location-list?
> > E.g.
> > vimgrep 'define' **/*.rb
> > and then on all files in the quickfix, or location list
> > *quickfix_do* %s/define/def/g
> >
> > Your help is very much appreciated.
>
> This one here works with the quickfixlist / locationlist (the bang
> form):
>
> fun! QFDo(bang, command)
>     let qflist={}
>     if a:bang
>         let tlist=map(getloclist(0), 'get(v:val, ''bufnr'')')
>     else
>         let tlist=map(getqflist(), 'get(v:val, ''bufnr'')')
>     endif
>     if empty(tlist)
>        echomsg "Empty Quickfixlist. Aborting"
>        return
>     endif
>     for nr in tlist
>     let item=fnameescape(bufname(nr))
>     if !get(qflist, item,0)
>         let qflist[item]=1
>     endif
>     endfor
>     :exe 'argl ' .join(keys(qflist))
>     :exe 'argdo ' . a:command
> endfunc
>
> com! -nargs=1 -bang Qfdo :call QFDo(<bang>0,<q-args>)
>
>
> regards,
> Christian
>
> --
> 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
>



-- 
Asis Hallab
Rothehausstr. 6 - 12
50823 Köln

Skype: asis.hallab.cgn
Fest (Köln) 42346046
Mobil  (O2) 0176 63370211
Fax 01212 - 5 - 30697106

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

Reply via email to