42.13.2 侧边栏指示器

侧边栏指示器(Fringe indicators) 是显示在窗口侧边栏中的微小图标, 用于指示行截断或续行、缓冲区边界等状态。

User Option: indicate-empty-lines

当该变量为非 nil 时,Emacs 会在图形显示器上 于缓冲区末尾每个空行的侧边栏中显示特殊字形。See 侧边栏。 该变量在每个缓冲区中自动成为缓冲区局部变量。

User Option: indicate-buffer-boundaries

该缓冲区局部变量控制如何在窗口侧边栏中指示缓冲区边界与窗口滚动状态。

当缓冲区边界(即缓冲区首行与末行)出现在屏幕上时, Emacs 可用角形图标进行标记。此外,Emacs 可在侧边栏中显示向上箭头 表示屏幕上方仍有文本,显示向下箭头表示屏幕下方仍有文本。

该变量有三种基本取值:

nil

不显示任何此类侧边栏图标。

left

在左侧侧边栏显示角形图标与箭头。

right

在右侧侧边栏显示角形图标与箭头。

非关联表的其他值

在左侧侧边栏显示角形图标,不显示箭头。

除此之外,该变量值也可以是一个关联表,指定显示哪些侧边栏指示器及其位置。 关联表中每个元素格式为 (indicator . position)。 其中 indicatortopbottomupdownt(覆盖所有未指定的图标),positionleftrightnil

例如,((top . left) (t . right)) 表示将顶部角位图放在左侧侧边栏, 底部角位图与两个箭头位图放在右侧侧边栏。若要在左侧侧边栏显示角位图、不显示箭头, 可使用 ((top . left) (bottom . left))

Variable: fringe-indicator-alist

该缓冲区局部变量指定逻辑侧边栏指示器到窗口侧边栏实际显示位图的映射。 值为一个关联表,元素格式为 (indicator . bitmaps), 其中 indicator 为逻辑指示器类型,bitmaps 为该指示器使用的侧边栏位图。

每个 indicator 应为下列符号之一:

truncationcontinuation

用于行截断与续行指示。

updowntopbottomtop-bottom

indicate-buffer-boundaries 为非 nil 时使用: updown 指示缓冲区边界位于窗口边缘上方或下方; topbottom 指示缓冲区文本的首行与末行; top-bottom 指示缓冲区仅有一行文本。

empty-line

indicate-empty-lines 为非 nil 时, 用于指示缓冲区末尾后的空行。

overlay-arrow

用于叠加箭头(see 覆盖箭头)。

每个 bitmaps 可为符号列表 (left right [left1 right1])leftright 分别指定对应指示器在左侧与右侧侧边栏显示的位图。 left1right1 专用于 bottomtop-bottom 指示器, 用于指示末行文本无末尾换行符。此外,bitmaps 也可为单个符号, 同时用于左右两侧侧边栏。

标准位图符号列表及自定义方法参见 See 侧边栏位图。 另外,nil 表示空位图(即不显示该指示器)。

fringe-indicator-alist 存在缓冲区局部值, 且某个逻辑指示器未定义对应位图或位图为 t 时, 将使用 fringe-indicator-alist 默认值中的对应项。