M-x breadcrumb-mode
使用方法
面包屑是一系列短字符串,指示你在某个大型树状迷宫(可能是你的代码)中的位置。希望上面的截图能够清楚地说明这一点。
-
M-x breadcrumb-mode
是全局模式。它会尝试保守地自动开启,且仅在有项目时开启。 -
M-x breadcrumb-local-mode
是缓冲区局部的次要模式,如果你不想使用默认的启发式方法在所有地方开启它。
没有太多其他内容。Breadcrumb 将尝试查询 imenu.el
和 project.el
以获取最佳信息。
安装
你可以通过 GNU Elpa 使用 M-x package-install RET breadcrumb RET
下载 breadcrumb
或者如果你想手动安装,可以下载 breadcrumb.el
并将其放入你的 load-path
中,类似于 (add-to-list 'load-path "~/path/to/breadcrumb.el")
更多用法
如果你想要一些高级模式行,你也可以手动将模式行结构
(:eval (breadcrumb-imenu-crumbs))
和
(:eval (breadcrumb-project-crumbs))
放入你的 mode-line-format
或 header-line-format
变量的设置中。
调整
每个面包屑组的形状和大小可以通过 breadcrumb-imenu-max-length
、breadcrumb-project-max-length
、breadcrumb-imenu-crumb-separator
和 breadcrumb-project-crumb-separator
进行调整。
每个面包屑的结构会根据 project.el
和 imenu.el
(或两者)是否能为你的缓冲区做有用的事情而有所不同。
对于项目面包屑,这取决于 project.el
的 project-current
是否能猜测当前缓冲区属于哪个项目。
对于 Imenu 面包屑,这会有所不同。根据主模式作者的偏好,Imenu 树(在变量 imenu--index-alist
中)可能有不同的结构。有时,次要模式也会以有用的方式调整 Imenu 树。例如,在最近的 Eglot(我认为是 Eglot 1.14+)中,管理的缓冲区会添加额外的区域信息,这使得 Breadcrumb 显示"更丰富"的路径。