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.