Next: Cursor Display, Previous: Optional Mode Line, Up: Display [Contents][Index]
Most characters are printing characters: when they appear in a buffer, they are displayed literally on the screen. Printing characters include ASCII numbers, letters, and punctuation characters, as well as many non-ASCII characters.
The ASCII character set contains non-printing control
characters. Two of these are displayed specially: the newline
character (Unicode code point U+000A
) is displayed by starting
a new line, while the tab character (U+0009
) is displayed as a
space that extends to the next tab stop column (normally every 8
columns). The number of spaces per tab is controlled by the
buffer-local variable tab-width
, which must have an integer
value between 1 and 1000, inclusive. Note that how the tab character
in the buffer is displayed has nothing to do with the definition of
TAB as a command.
Other ASCII control characters, whose codes are below
U+0020
(octal 40, decimal 32), are displayed as a caret
(‘^’) followed by the non-control version of the character, with
the escape-glyph
face. For instance, the ‘control-A’
character, U+0001
, is displayed as ‘^A’.
The raw bytes with codes U+0080
(octal 200) through
U+009F
(octal 237) are displayed as octal escape
sequences, with the escape-glyph
face. For instance,
character code U+0098
(octal 230) is displayed as ‘\230’.
If you change the buffer-local variable ctl-arrow
to
nil
, the ASCII control characters are also displayed
as octal escape sequences instead of caret escape sequences.
Some non-ASCII characters have the same appearance as an
ASCII space or hyphen (minus) character. Such characters
can cause problems if they are entered into a buffer without your
realization, e.g., by yanking; for instance, source code compilers
typically do not treat non-ASCII spaces as whitespace
characters. To deal with this problem, Emacs displays such characters
specially: it displays U+00A0
(no-break space) with the
nobreak-space
face, and it displays U+00AD
(soft
hyphen), U+2010
(hyphen), and U+2011
(non-breaking
hyphen) with the escape-glyph
face. To disable this, change
the variable nobreak-char-display
to nil
. If you give
this variable a non-nil
and non-t
value, Emacs instead
displays such characters as a highlighted backslash followed by a
space or hyphen.
You can customize the way any particular character code is displayed by means of a display table. See Display Tables in The Emacs Lisp Reference Manual.
On graphical displays, some characters may have no glyphs in any of
the fonts available to Emacs. These glyphless characters are
normally displayed as boxes containing the hexadecimal character code.
Similarly, on text terminals, characters that cannot be displayed
using the terminal encoding (see Terminal Coding) are normally
displayed as question signs. You can control the display method by
customizing the variable glyphless-char-display-control
. You
can also customize the glyphless-char
face to make these
characters more prominent on display. See Glyphless Character Display in The Emacs Lisp Reference Manual,
for details.
If the curved quotes ‘‘’, ‘’’, ‘“’, and ‘”’ are
known to look just like ASCII characters, they are shown
with the escape-glyph
face. Curved quotes that cannot be
displayed are shown as their ASCII approximations ‘`’,
‘'’, and ‘"’ with the escape-glyph
face.
Next: Cursor Display, Previous: Optional Mode Line, Up: Display [Contents][Index]