24.2 Tab Stops
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 Local Variables), 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 Interface).
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 How Text Is Displayed.