Cody Cutler - Patches
ViM tag refine patch
I cannot live without this patch when dealing with large amounts of code (HotSpot).
My description, as taken from the ViM mailing list:

Hello list. The attached patch allows optional regexs to be passed to
:tj and friends. these regexs is then used to further refine available
tags before they are printed.

This patch is useful when you have many tags for a single identifier.
For example, suppose a large C++ project has initialize() methods for
100s of classes. Going through the list of tags printed by :tj is
tedious. Most of the time I know additional information about the
identifier I am looking for like the containing object type or source
filename. The text after the '/' in the argument is used as a regex
(unless a '/' is the first character of the tag identifier, then the
text after the second '/' is used) to match against the "other" tag
fields (which often contains the containing type name). If a '!' is
present, text after it is used to match against filenames. With this
patch you can type:

:tj initialize/SomeClass

to list all tags that also contain "SomeClass" in their "other" fields
or

:ts initialize/!arch/amd64

to list all tags matching initialize that contain "arch/amd64" in the
containing file's pathname. Or a mix:

:ts initialize/SomeClass!arch/amd64

The '/' and '!' characters were chosen somewhat arbitrarily--I'm not
sure if they are a safe choice.