使用speedbar一段时间后,我发现它会根据当前显示的缓冲区更改基本目录。
如何禁用它?我只是希望速度条在切换到另一个缓冲区时什么都不做。
这个有可能。将此添加到您的 .emacs 文件中:
(set 'speedbar-update-flag nil)
您还可以切换更新
M-x speedbar-toggle-updates
我认为这种行为在普通的 Speedbar 中是不可能的(在查看变量、函数和自定义窗口之后)。
但是,如果您查看SrSpeedbar包,我会看到一个选项:“sr-speedbar-refresh-turn-off”。一旦调用,它应该禁用刷新;坚持它在哪里。
除了正确的@PascalVKooten 答案之外,当您在速度条树中导航时还有一个烦人的问题:您丢失了开始目录。以下代码有助于使用快速栏框架中的“h”键返回初始目录:
(setq var_start-path default-directory)
(define-key speedbar-file-key-map (kbd "h")
(lambda() (interactive)
(when (and (not (equal var_start-path
sr-speedbar-last-refresh-dictionary))
(not (sr-speedbar-window-p)))
(setq sr-speedbar-last-refresh-dictionary var_start-path))
(setq default-directory var_start-path)
(speedbar-refresh))
)
此代码是从projectile-speedbar包代码中提取的。这个包很有趣,但对我不起作用。