The Tab Key

Index of All Documentation » Wing Pro Reference Manual » Source Code Editor » Indentation »


The action of the tab key depends on the Editor > Keyboard > Personality preference, the file type being edited, and the position within the file.

To insert a real tab character, press Ctrl-T.

Tab Key Action

The behavior of the tab key can be altered with the User Interface > Keyboard > Tab Key Action preference, which provides the following options:

Default for Personality selects from the other tab key actions below, according to the current keyboard personality and file type. In all non-Python files, the default is Move to Next Tab Stop. In Python files, the defaults are as follows:

Normal: Smart Tab

VI/VIM: Move to Next Tab Stop

Emacs: Indent to Match

Brief: Smart Tab

Visual Studio: Move to Next Tab Stop

macOS: Smart Tab

Eclipse: Emulates Eclipse

XCode: Smart Tab

MATLAB: Insert Tab Character

Indent to Match indents the current line or selected lines to position them at the computed indent level for their context in the file.

Move to Next Tab Stop enters indentation so that the caret reaches the next tab stop.

Indent Region increases the indentation of the current line or selected lines by one level.

Insert Tab Character inserts a Tab character chr(9) into the file.

Smart Tab is equivalent to Move to Next Tab Stop in non-Python files, and implements the following behavior in Python files:

(1) When the caret is within a line or there is a non-empty selection, this performs Indent to Match. When the line or lines are already at the matching position, indentation is toggled between other valid positions.

(2) When the caret is at the end of a non-empty line and there is no selection, one indent level is inserted. The User Interface > Keyboard > Smart Tab End of Line Indents preference alters the type of indentation used in this case, or disables this aspect of the Smart Tab feature.