1. Home
  2. Computing & Technology
  3. Linux

Indentation
Emacs Documentation

By Juergen Haas, About.com Guide

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. See Just Spaces, for how to prevent use of tabs.

  • Indentation Commands: Various commands and techniques for indentation.
  • Tab Stops: You can set arbitrary "tab stops" and then indent to the next tab stop when you want to.
  • Just Spaces: You can request indentation using just spaces.

* Emacs Manual Index

Explore Linux
About.com Special Features

Stay connected and entertained with reviews on tips on the latest HDTVs, cellphones and more. More >

Easy ways to connect two computers for networking purposes. More >

  1. Home
  2. Computing & Technology
  3. Linux
  4. Linux Software
  5. Editors
  6. Emacs
  7. Emacs Documentation - Indentation

©2009 About.com, a part of The New York Times Company.

All rights reserved.