The most important thing that a tags table enables you to do is to find the definition of a specific tag.
find-tag) is the command to find the definition of
a specified tag. It searches through the tags table for that tag, as a
string, and then uses the tags table info to determine the file that the
definition is in and the approximate character position in the file of
the definition. Then
find-tag visits that file, moves point to
the approximate character position, and searches ever-increasing
distances away to find the tag definition.
If an empty argument is given (just type RET), the sexp in the buffer before or around point is used as the tag argument. See section Lists and Sexps, for info on sexps.
You don't need to give M-. the full name of the tag; a part
will do. This is because M-. finds tags in the table which
contain tag as a substring. However, it prefers an exact match
to a substring match. To find other tags that match the same
find-tag a numeric argument, as in C-u
M-.; this does not read a tag name, but continues searching the tags
table's text for another tag containing the same substring last used.
If you have a real META key, M-0 M-. is an easier
alternative to C-u M-..
Like most commands that can switch buffers,
find-tag has a
variant that displays the new buffer in another window, and one that
makes a new frame for it. The former is C-x 4 ., which invokes
find-tag-other-window. The latter is C-x 5 .,
To move back to places you've found tags recently, use C-u - M-.; more generally, M-. with a negative numeric argument. This command can take you to another buffer. C-x 4 . with a negative argument finds the previous tag location in another window.
The command C-M-. (
find-tag-regexp) visits the tags that
match a specified regular expression. It is just like M-. except
that it does regexp matching instead of substring matching.