GNU Emacs Manual - Tabs in Picture

Go to the first, previous, next, last section, table of contents.

## Picture Mode Tabs

Two kinds of tab-like action are provided in Picture mode. Use `M-`TAB`` (`picture-tab-search`) for context-based tabbing. With no argument, it moves to a point underneath the next "interesting" character that follows whitespace in the previous nonblank line. "Next" here means "appearing at a horizontal position greater than the one point starts out at." With an argument, as in `C-u M-`TAB``, this command moves to the next such interesting character in the current line. `M-`TAB`` does not change the text; it only moves point. "Interesting" characters are defined by the variable `picture-tab-chars`, which should define a set of characters. The syntax for this variable is like the syntax used inside of ``[...]'` in a regular expression--but without the ``['` and the ``]'`. Its default value is `"!-~"`.

`TAB` itself runs `picture-tab`, which operates based on the current tab stop settings; it is the Picture mode equivalent of `tab-to-tab-stop`. Normally it just moves point, but with a numeric argument it clears the text that it moves over.

The context-based and tab-stop-based forms of tabbing are brought together by the command `C-c `TAB`` (`picture-set-tab-stops`). This command sets the tab stops to the positions which `M-`TAB`` would consider significant in the current line. The use of this command, together with `TAB`, can get the effect of context-based tabbing. But `M-`TAB`` is more convenient in the cases where it is sufficient.

It may be convenient to prevent use of actual tab characters in pictures. For example, this prevents `C-x `TAB`` from messing up the picture. You can do this by setting the variable `indent-tabs-mode` to `nil`. See section Tabs vs. Spaces.

Go to the first, previous, next, last section, table of contents.