2.1.1 Semantic mode user commands

Semantic mode provides a number of commands for navigating, querying,
and editing source code in a language-aware manner. These commands
generally act on tags, which are the source-code units deemed
“important” by the present programming language (e.g., functions in
the C programming language).

These commands may be used in any buffer that has been parsed by
Semantic. Several of them prompt for a tag name using the
minibuffer; here, the TAB key can be used to complete tag names.
Others act on the current tag, meaning the tag at (or around)
point.

C-c , j

Prompt for a tag defined in the current file, and move point to it
(semantic-complete-jump-local).

C-c , J

Prompt for a tag defined in any file that Emacs has parsed, and move
point to it (semantic-complete-jump).

C-c , l

Display a list of the possible completions of the current tag
(semantic-analyze-possible-completions).

C-c , g

Prompt for a tag, and display a list of tags that call it
(semantic-symref-symbol). This relies on the presence of an
external symbol reference tool. See SymRef.

C-c , G

Display a list of tags that call the current tag
(semantic-symref). This relies on the presence of an external
symbol reference tool. See SymRef.

C-c , p

Move point to the previous tag (senator-previous-tag).

C-c , n

Move point to the next tag (senator-next-tag).

C-c , u

Move point “up” one reference (senator-go-to-up-reference).
The meaning of “up” is language-dependent; in C++, for instance,
this means moving to the parent of the current tag.

C-c, SPC

Display a list of possible completions for the symbol at point
(semantic-complete-analyze-inline). This also activates a
special set of keybindings for choosing a completion: RET
accepts the current completion, M-n and M-p cycle through
possible completions, TAB completes as far as possible and then
cycles, and C-g or any other key aborts the completion.
See Smart Completion.

C-c , C-w

Kill the current tag (senator-kill-tag). This removes the text
for that tag, placing it in the kill ring. You can retrieve the text
with C-y. This also places the tag in the tag ring, so
that you can yank it with \C-c,\C-y, below.

C-c , M-w

Copy the current tag into the kill ring as well as the tag ring
(senator-copy-tag).

C-c , C-y

Yank a tag from the tag ring (senator-yank-tag).

C-c , r

Copy the current tag into a register
(senator-copy-tag-to-register). With an optional argument,
kill it as well. This allows you to insert or jump to that tag with
the usual register commands. See Registers in Emacs manual.

C-c , up

Transpose the current tag with the previous one
(senator-transpose-tags-up).

C-c , down

Transpose the current tag with the next one
(senator-transpose-tags-down).