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.
Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report
August 27, 2015
12:00 PM CDT
DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.
Free to Linux Journal readers.Register Now!
- Hacking a Safe with Bash
- Django Models and Migrations
- Secure Server Deployments in Hostile Territory, Part II
- The Controversy Behind Canonical's Intellectual Property Policy
- Huge Package Overhaul for Debian and Ubuntu
- Home Automation with Raspberry Pi
- Shashlik - a Tasty New Android Simulator
- Embed Linux in Monitoring and Control Systems
- KDE Reveals Plasma Mobile
- diff -u: What's New in Kernel Development