On 2007-03-07, "A.J.Mechelynck" <[EMAIL PROTECTED]> wrote:
> Gary Johnson wrote:
> > On 2007-03-07, Zarko Coklin <[EMAIL PROTECTED]> wrote:
> >> Hi all!
> >>
> >> I am trying to automate my Vim setup as much as
> >> possible. On my PC I have 2 directories for 2
> >> different releases.
> >>
> >> C:\Code_Rel1
> >> C:\Code_Rel2
> >>
> >> At a very top level in each of these directories I
> >> have ctags files. How can I setup Vim so that it
> >> sources right ctags file depending from I started Vim.
> >> For example, if I go under Code_Rel1 and in Windows
> >> use right click to open file in one of subdirectories,
> >> ctags should be picked up from C:\Code_Rel1 and not
> >> from C:\Code_Rel2.
> >>
> >> Hard coding path to ctags in .vimrc is not an option,
> >> cause it will not work well if I right-click to open
> >> file from another release directory.
> >>
> >> Any thoughts on how this can be achieved?
> >
> > If you don't mind adding a command to your .vimrc for each ctags 
> > file, you could do this:
> >
> >     au BufRead,BufNewFile C:/Code_Rel1/* set tags=C:/Code_Rel1/tags
> >     au BufRead,BufNewFile C:/Code_Rel2/* set tags=C:/Code_Rel2/tags
> >
> > HTH,
> > Gary
> >
> 
> ...and if the directory trees can have more than one level, then use instead
> 
>       au BufRead,BufNewFile C:/CodeRel1/**/*
>               \ setlocal tags=C:/CodeRel1/tags
>       au BufRead,BufNewFile C:/CodeRel2/**/*
>               \ setlocal tags=C:/CodeRel2/tags
> etc.
> 
> Notice the use of ":setlocal" to avoid clobbering the 'tags' setting for 
> other windows opened in the same Vim instance.

Thanks for pointing out the setlocal issue--I had forgotten that 
'tags' could be made local.

However, the **/* is not necessary.  The pattern "C:/Code_Rel1/*" 
will match any file under the C:/Code_Rel1 directory, including, for 
example, C:/Code_Rel1/foo/bar/thingy.txt.

Regards,
Gary

-- 
Gary Johnson                 | Agilent Technologies
[EMAIL PROTECTED]     | Mobile Broadband Division
                             | Spokane, Washington, USA

Reply via email to