Next: , Previous: Major Modes, Up: Top


19 Indentation

<TAB>
Indent current line “appropriately” in a mode-dependent fashion.
<LFD>
Perform <RET> followed by <TAB> (newline-and-indent).
M-^
Merge two lines (delete-indentation). This would cancel out the effect of <LFD>.
C-M-o
Split line at point; text on the line after point becomes a new line indented to the same column that it now starts in (split-line).
M-m
Move (forward or back) to the first non-blank character on the current line (back-to-indentation).
C-M-\
Indent several lines to same column (indent-region).
C-x <TAB>
Shift 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 details differ.

Use the <TAB> command to indent a line whatever the language. Each major mode defines this command to perform indentation appropriate for the particular language. In Lisp mode, <TAB> aligns a 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.