How to use tags with vi Using tags lets you jump around between source files based on variable type and method signature. Note that this uses pattern matching, not mini compilation, so it is not infallible. Still very useful. 1. Generate the tags file find ~/develop/newstreets/java/src/com/ -name "*.java" -print | ctags --lang=java --recurse=yes -o ~/.newstreets.tags -L - Note that you need the ~, or else the tags file that is generated contains relative paths. You may want to set up a cron job to update the tags file nightly: 1 5 * * 1-5 /usr/bin/find ~/develop/newstreets/java/src/com/ -name "*.java" -print | /usr/local/bin/ctags --lang=java --recurse=yes -o ~/.newstreets.tags -L - 2. Tell vim about the tags file(s) in your ~/.vimrc, put this line: set tags=~/.opencms.tags\ ~/.mainstreets.tags\ ~/.newstreets.tags 3. Use the tags file to move around Move the cursor to the method that you are interested in, and hit cntl-]. You can do this an arbitrary number of times. To move back up the tag stack, hit cntl-t. 4. Caveats This was tested in vim 6.1, should work in vim 5.x as well. The ctags program is required, but I believe it is installed by vim.