I’ve used Vim for most of a decade now, having completely failed to understand Emacs, then going through a vi tutorial on an HP-UX 9.x box and watching how fast text editing can be. I’m proud that the Unix command-line is my IDE. I have plenty of great tools like Perl, grep, find, ack. I’m quick and productive.

I’ve known about Ctags, and I used it once or twice, but never really took advantage of it until last week.

I’ve used vim -t tag to open my editor to a function’s definition, but that seemed a little bit clunky. If I were in a Vim session already, I’d have to background the process, launch the new editor, and remember to switch back and forth between the two processes. (screen makes this easier, but it’s less of a benefit for short-lived processes.)

Then I had a thought, and looked it up in a Vim reference to confirm. Ctrl-] on an identifier jumps to the definition of that symbol. Ctrl-t jumps back. This works without having to start a new Vim process.

Thirty seconds of research bumped ctags from something I use once in a while to an indispensible tool for programming and debugging. Thanks to everyone who’s contributed both to ctags and to the Vim integration!