# 2021-01-17 #「Emacs」- Speed Bar

Speedbar是Emacs的一个程序,可以用来汇总显示当前Buffer相关的信息。相当于一个文件浏览器,但还包含了其他功能。

Speedbar显示一个显示树形的视图。此视图默认为文件和目录的列表。其中的「文件」可以“展开”显示文件中包含的「标签」(tag,类似于IDE中的源码包含的函数预览功能)。「目录」可以“展开”显示其中包含的文件。每个「文件」或「标签(tag)」可以进行“点击跳转”。

Speedbar通过“维护用户上下文”来扩展“资源管理器”窗口。例如,在使用文件视图时,当前缓冲区的文件被突出显示。Speedbar也通过提供多种显示模式来模拟浏览窗口。这些模式有两种:「主显示模式」在缓冲区中保持一致,只有在显示适用类型的缓冲区时,才会显示次显示模式。这使得其他Emacs插件的作者可以根据插件模式的需要来设置Speedbar显示的内容。

在次,「活动」被定义为“点击”或“展开”项目。「点击」表示使用mouse-2按钮(鼠标)。「展开」是指单击「展开按钮」以显示「展开按钮所在位置」的「展开摘要」。

功能简介

使用命令M-x speedbar RET或从“Options -> Show/Hide”的子菜单中打开Speedbar,这个命令将打开一个新Frame,这个新Frame就是Speedbar,Speedbar中会显示本地文件列表。
在X Window系统或MS-Windows上,Speedbar宽度为20个字符,并且高度等于之前Frame的高度,位于之前Frame的左侧或右侧。

要有效地使用Speedbar,重要的是了解Speedbar启动Speedbar的绑定Frame(执行Speedbar命令是所在的Frame)之间的关系。该Frame是Speedbar用作参考点的「附加Frame」。Speedbar一旦启动,就会观察该「附加Frame」的内容,并尝试使Speedbar的内容与加载到「附加Frame」中的Buffer的内容相关。另外,所有在Speedbar中产生的要求显示另一个Buffer的请求(比如:打开文件),都会显示在「附加Frame」中。

在终端模式下时,新Frame显示与终端相同的尺寸。由于在附加Frame中工作时Speedbar不可见,因此Speedbar将通过使用slowbar mode来节省时间,在Speedbar被要求显示自身之前(即,Speedbar所在的Frame变为选中的Frame)不进行“内容显示跟踪”。

使用键盘在Frame之间切换时,使用的函数是speedbar-get-focus,这个函数将在不同的Frame之间切换,在终端模式下绑定到一个键是很有用的。

参考文献

猜你喜欢

转载自blog.csdn.net/u013670453/article/details/112759301
bar