I've been using this (exuberant) ctags based approach for years. It's quite handy and works across more languages than I use: 41 languages from ant to YACC. I've tested with perl, python, C, java and ruby.
The plugin has options to display the function name in the status bar or in the xterm menu bar. It takes care of generating the ctags files on the fly.
I've blogged before on using vim with tags file, recommending using ctags to create a tags file for your codebase. Using the tags browser to jump to subroutines defined in other files is just ... super fun.
- ctags plugin for vim:
- exuberant ctags:
- My blogpost on effective VIM with perl and tags. http://www.lowlevelmanager.com/2010/12/perl-tags-and-vim-effective-code.html
These are the options I use with the plugin:
let g:ctags_statusline=1 let g:ctags_title=0 let g:generate_tags=1 let g:ctags_regenerate=1
PS. OSX comes with a different version of ctags, you'll need to install exuberant ctags for the ctag plugin to work, it's available in both fink and MacPorts.