Emacs defines certain column numbers to be tab stops. These
are used as stopping points by TAB when inserting whitespace in
Text mode and related modes (see Indentation), and by commands
like M-i (see Indentation Commands). The variable
tab-stop-list controls these positions. The default value is
nil, which means a tab stop every 8 columns. The value can
also be a list of zero-based column numbers (in increasing order) at
which to place tab stops. Emacs extends the list forever by repeating
the difference between the last and next-to-last elements.
Instead of customizing the variable tab-stop-list directly, a convenient way to view and set tab stops is via the command M-x edit-tab-stops. This switches to a buffer containing a description of the tab stop settings, which looks like this:
: : : : : : 0 1 2 3 4 0123456789012345678901234567890123456789012345678 To install changes, type C-c C-c
The first line contains a colon at each tab stop. The numbers on the
next two lines are present just to indicate where the colons are.
If the value of tab-stop-list is
nil, as it is by default,
no colons are displayed initially.
You can edit this buffer to specify different tab stops by placing colons on the desired columns. The buffer uses Overwrite mode (see Minor Modes). Remember that Emacs will extend the list of tab stops forever by repeating the difference between the last two explicit stops that you place. When you are done, type C-c C-c to make the new tab stops take effect. Normally, the new tab stop settings apply to all buffers. However, if you have made the tab-stop-list variable local to the buffer where you called M-x edit-tab-stops (see Locals), then the new tab stop settings apply only to that buffer. To save the tab stop settings for future Emacs sessions, use the Customize interface to save the value of tab-stop-list (see Easy Customization).
Note that the tab stops discussed in this section have nothing to do with how tab characters are displayed in the buffer. Tab characters are always displayed as empty spaces extending to the next display tab stop. See Text Display.