42.13.1 侧边栏尺寸与位置

下列缓冲区局部变量控制显示该缓冲区的窗口中侧边栏的位置与宽度。

Variable: fringes-outside-margins

侧边栏通常出现在显示边距与窗口文本之间。若该变量值为非 nil, 则侧边栏出现在显示边距外侧。See 在边距中显示

Variable: left-fringe-width

该变量若非 nil,则以像素为单位指定左侧侧边栏的宽度。 值为 nil 表示使用该窗口所属 框架 的左侧侧边栏宽度。

Variable: right-fringe-width

该变量若非 nil,则以像素为单位指定右侧侧边栏的宽度。 值为 nil 表示使用该窗口所属 框架 的右侧侧边栏宽度。

未为这些变量指定值的缓冲区,将使用 框架 参数 left-fringeright-fringe 中设定的值(see 布局参数)。

上述变量实际通过函数 set-window-buffer(see 缓冲区与窗口)生效, 该函数会调用子程序 set-window-fringes。若你修改了其中某个变量, 已显示该缓冲区的现有窗口并不会更新侧边栏显示,除非你在每个受影响窗口中重新调用 set-window-buffer。你也可以直接使用 set-window-fringes 控制单个窗口的侧边栏显示。

Function: set-window-fringes window left &optional right outside-margins persistent

该函数设置窗口 window 的侧边栏宽度。 若 windownil,则使用当前选中窗口。

参数 left 以像素为单位指定左侧侧边栏宽度,right 同理指定右侧。 任一参数为 nil 均表示使用默认宽度。若 outside-margins 为非 nil, 则指定侧边栏显示在显示边距外侧。

若窗口 window 尺寸不足以容纳指定宽度的侧边栏, 则该窗口的侧边栏保持不变。

此处设定的值可能在后续对 window 调用 set-window-buffer(see 缓冲区与窗口) 且其 keep-margins 参数为 nil 或省略时被覆盖。 但是,若可选的第五个参数 persistent 为非 nil 且其他参数处理成功,则此处设定的值将不受后续 set-window-buffer 调用的影响。可用于永久关闭迷你缓冲区窗口的侧边栏, 示例可参考 set-window-scroll-bars 的说明(see 滚动条)。

Function: window-fringes &optional window

该函数返回窗口 window 的侧边栏信息。 若 window 省略或为 nil,则使用当前选中窗口。 返回值格式为 (left-width right-width outside-margins persistent)