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.
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)))