Emacs can display an indication of the fill-column
position
(see Explicit Fill Commands). The fill-column indicator is a useful
functionality especially in prog-mode
and its descendants
(see Major Modes) to indicate the position of a specific column
that has some special meaning for formatting the source code of a
program. This assumes the buffer uses a fixed-pitch font, where all
the characters (with the possible exception of double-width
characters) have the same width on display. If the buffer uses
variable-pitch fonts, the fill-column indicators on different lines
might appear unaligned.
To activate the fill-column indication display, use the minor modes
display-fill-column-indicator-mode
and
global-display-fill-column-indicator-mode
, which enable
the indicator locally or globally, respectively.
Alternatively, you can set the two buffer-local variables
display-fill-column-indicator
and
display-fill-column-indicator-character
to activate the
indicator and control the character used for the indication. Note
that both variables must be non-nil
for the indication to be
displayed. (Turning on the minor mode sets both these variables.)
There are 2 buffer local variables and a face to customize this mode:
display-fill-column-indicator-column
¶Specifies the column number where the indicator should be set. It can
take positive numerical values for the column, or the special value
t
, which means that the value of the variable
fill-column
will be used.
Any other value disables the indicator. The default value is t
.
display-fill-column-indicator-character
¶Specifies the character used for the indicator. This character can be
any valid character including Unicode ones if the font supports them.
The value nil
disables the indicator. When the mode is enabled
through the functions display-fill-column-indicator-mode
or
global-display-fill-column-indicator-mode
, they will use the
character specified by this variable, if it is non-nil
;
otherwise Emacs will use the character U+2502 BOX DRAWINGS LIGHT VERTICAL,
falling back to ‘|’ if U+2502 cannot be displayed.
fill-column-indicator
¶Specifies the face used to display the indicator. It inherits its
default values from the face shadow
, but without background
color. To change the indicator color, you need only set the foreground
color of this face.
On graphical displays, Emacs can indicate the buffer boundaries in the fringes. If you enable this feature, the first line and the last line are marked with angle images in the fringes. This can be combined with up and down arrow images which say whether it is possible to scroll the window.
The buffer-local variable indicate-buffer-boundaries
controls
how the buffer boundaries and window scrolling is indicated in the
fringes. If the value is left
or right
, both angle and
arrow bitmaps are displayed in the left or right fringe, respectively.
If value is an alist (see Association Lists in the Emacs
Lisp Reference Manual), each element (indicator .
position)
specifies the position of one of the indicators. The
indicator must be one of top
, bottom
, up
,
down
, or t
which specifies the default position for the
indicators not present in the alist. The position is one of
left
, right
, or nil
which specifies not to show
this indicator.
For example, ((top . left) (t . right))
places the top angle
bitmap in left fringe, the bottom angle bitmap in right fringe, and
both arrow bitmaps in right fringe. To show just the angle bitmaps in
the left fringe, but no arrow bitmaps, use ((top . left)
(bottom . left))
.