Surprisingly, the TAGS and tags index files remain valid even if you insert and delete lines in the files they reference. You really need to run etags/ctags only when you add or remove functions or files. I find it convenient to have a tags: target in my Makefiles for this:
tags: etags $(SRC)
If you have files in many directories, you could generate a single tags file covering them all by specifying directory names on the command line. This works fine in vi and Emacs, but you'll need to set up either the tags-file-name variable or tag-table-alist if you're an XEmacs user. I personally find this pretty clumsy, and tend to stick to a TAGS file per directory.
man etags and man ctags are the obvious starting places. You'll also find good information in the Emacs info pages, and using the Emacs ?H-a command.
ctags and etags are both included in Emacs and XEmacs distributions. You can also get various other tags programs from the Internet—archie -c ctags will find a site near you.
Dave Thomas (email@example.com) is an independent consultant specializing in complex Unix, OS/2 and Windows developments. He's forever grateful for all the work that's gone into Linux and XFree—it lets him work from home in Dallas on client systems in Florida, New Hampshire, Atlanta, Toronto... The phone company is happy too.
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- New Products
- Users, Permissions and Multitenant Sites
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- High-Availability Storage with HA-LVM
- DevOps: Everything You Need to Know
- Tighten Up SSH
- Non-Linux FOSS: MenuMeters
- Solving ODEs on Linux
- diff -u: What's New in Kernel Development