On Fri, Feb 4, 2011 at 6:17 PM, Marc Weber <marco-oweber@gmx.de> wrote:
Excerpts from David Lam's message of Fri Feb 04 23:57:04 +0000 2011:
> you probably want... vimgrep pattern file_folder/*.cIf I got you correct you want to create a file like this:
>
> maybe more useful is going through all sub folders recursively...
> vimgrep pattern file_folder/**/*.c
== directories-to-search ==
project1/
project2/
project3/
Then you want Vim to read the lines and grep each folder which was
listed in it?
let name = input("the word to grep for :")
for folder in readfile("directories-to-search")
exec 'vimgrepadd '.fnameescape(folder)..' '.fnameescape(folder).'/**/*'
endfor
Put it into a function and map that.
Marc Weber
Thanks Marc and David.
The final solution for me:
I put all the directories into a file called sdir.txt, put this file under the same folder of the source files,
add this function to vimrc file:
""Find the string user input in different folder
""put the search directories in sdir.txt file,
""under the same dir of the source code
nmap <F1> :call <SID>Searchwordgl()<cr>
function s:Searchwordgl()
let searchstring = expand("<cword>") "search string under the cursor
let searchdirlist = readfile('sdir.txt','',6) "read directories into list
let searchdir = join(searchdirlist) " join the list into string
if searchstring != ""
execute "vimgrep " searchstring searchdir
endif
endfunction
--
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
No comments:
Post a Comment