summary of predefined names, routines, macros?

It's funny you should mention that Morris. I was playing with ctags yesterday. Although the one that comes with the Mac isn't very good. I got Exuberant Ctags from here:

Then I found that if you weren't careful doing a full recursive ctags got all the bootloaders and stuff. So what worked for me was something like:

cd   # go home
ctags -R /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino
ctags -R -a /Applications/Arduino.app/Contents/Resources/Java/libraries

Your paths may vary.

The idea is to put a "tags" file in the home directory, consisting of the Arduino cores, and then append (-a) the libraries. Then using vi:

vi -t digitalWrite

In a split second, it opens "/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/wiring_digital.c" and puts the cursor at the start of that function. Pretty handy. Then move the cursor over some sub-function, hit Ctrl+] and it opens the file containing that function. And so on.