Variable: tab-always-indent

tab-always-indent is a customizable variable defined in indent.el.gz.

Value

complete

Documentation

Controls the operation of the TAB key.

If t, hitting TAB always just indents the current line. If nil, hitting TAB indents the current line if point is at the left margin or in the line's indentation, otherwise it inserts a "real" TAB character. If complete, TAB first tries to indent the current line, and if the line was already indented, then try to complete the thing at point.

Also see tab-first-completion.

Some programming language modes have their own variable to control this, e.g., c-tab-always-indent, and do not respect this variable.

View in manual

Probably introduced at or before Emacs version 23.2.

Source Code

;; Defined in /usr/src/emacs/lisp/indent.el.gz
(defcustom tab-always-indent t
  "Controls the operation of the TAB key.
If t, hitting TAB always just indents the current line.
If nil, hitting TAB indents the current line if point is at the left margin
or in the line's indentation, otherwise it inserts a \"real\" TAB character.
If `complete', TAB first tries to indent the current line, and if the line
was already indented, then try to complete the thing at point.

Also see `tab-first-completion'.

Some programming language modes have their own variable to control this,
e.g., `c-tab-always-indent', and do not respect this variable."
  :group 'indent
  :type '(choice
	  (const :tag "Always indent" t)
	  (const :tag "Indent if inside indentation, else TAB" nil)
	  (const :tag "Indent, or if already indented complete" complete)))