26.3.1 Basic Program Indentation Commands
TAB
Adjust indentation of current line ( indent-for-tab-command
).
RET
Insert a newline, then adjust indentation of following line
( newline
).
The basic indentation command is TAB
( indent-for-tab-command
), which was documented in
Indentation. In programming language modes, TAB
indents the current line, based on the indentation and syntactic
content of the preceding lines; if the region is active,
TAB
indents each line within the region, not just the
current line.
The command RET
( newline
), which was documented
in Inserting Text, does the same as C-j
followed by
TAB
: it inserts a new line, then adjusts the line’s
indentation.
When indenting a line that starts within a parenthetical grouping, Emacs usually places the start of the line under the preceding line within the group, or under the text after the parenthesis. If you manually give one of these lines a nonstandard indentation (e.g., for aesthetic purposes), the lines below will follow it.
The indentation commands for most programming language modes assume
that an open-parenthesis, open-brace or other opening delimiter at the
left margin is the start of a function. If the code you are editing
violates this assumption—even if the delimiters occur in strings or
comments—you must set open-paren-in-column-0-is-defun-start
to nil
for indentation to work properly. See Left Margin Convention.