26.3.4 Commands for C Indentation
Here are special features for indentation in C mode and related modes:
C-c C-q
¶
Reindent the current top-level function definition or aggregate type
declaration ( c-indent-defun
).
C-M-q
¶
Reindent each line in the balanced expression that follows point
( c-indent-exp
). A prefix argument inhibits warning messages
about invalid syntax.
TAB
¶
Reindent the current line, and/or in some cases insert a tab character
( c-indent-command
).
If c-tab-always-indent
is t
, this command always reindents
the current line and does nothing else. This is the default.
If that variable is nil
, this command reindents the current line
only if point is at the left margin or in the line’s indentation;
otherwise, it inserts a tab (or the equivalent number of spaces,
if indent-tabs-mode
is nil
).
Any other value (not nil
or t
) means always reindent the
line, and also insert a tab if within a comment or a string.
To reindent the whole current buffer, type C-x h C-M-\
. This
first selects the whole buffer as the region, then reindents that
region.
To reindent the current block, use C-M-u C-M-q
. This moves
to the front of the block and then reindents it all.