Indentation
***********
This chapter describes the Emacs commands that add, remove, or
adjust indentation.
`<TAB>'
Indent the current line "appropriately" in a mode-dependent
fashion.
`C-j'
Perform <RET> followed by <TAB> (`newline-and-indent').
`M-^'
Merge the previous and the current line (`delete-indentation').
This would cancel out the effect of `C-j'.
`C-M-o'
Split the current line at point; text on the line after point
becomes a new line indented to the same column where point is
located (`split-line').
`M-m'
Move (forward or back) to the first nonblank character on the
current line (`back-to-indentation').
`C-M-\'
Indent several lines to the same column (`indent-region').
`C-x <TAB>'
Shift a block of lines rigidly right or left (`indent-rigidly').
`M-i'
Indent from point to the next prespecified tab stop column
(`tab-to-tab-stop').
`M-x indent-relative'
Indent from point to under an indentation point in the previous
line.
Most programming languages have some indentation convention. For
Lisp code, lines are indented according to their nesting in
parentheses. The same general idea is used for C code, though many
details are different.
Whatever the language, to indent a line, use the <TAB> command. Each
major mode defines this command to perform the sort of indentation
appropriate for the particular language. In Lisp mode, <TAB> aligns
the line according to its depth in parentheses. No matter where in the
line you are when you type <TAB>, it aligns the line as a whole. In C
mode, <TAB> implements a subtle and sophisticated indentation style that
knows about many aspects of C syntax.
In Text mode, <TAB> runs the command `tab-to-tab-stop', which
indents to the next tab stop column. You can set the tab stops with
`M-x edit-tab-stops'.
Normally, <TAB> inserts an optimal mix of tabs and spaces for the
intended indentation. Note:Just Spaces, for how to prevent use of
tabs.