使用speedbar一段时间后,我发现它将根据当前显示的缓冲区更改基本目录。
如何禁用它?我只是希望在切换到另一个缓冲区时,speedbar什么都不做。
答案 0 :(得分:7)
这是可能的。将其添加到.emacs文件中:
(set 'speedbar-update-flag nil)
您还可以使用
切换更新M-x speedbar-toggle-updates
答案 1 :(得分:6)
我不认为在普通的Speedbar中这种行为是可行的(在查看变量,函数和自定义窗口之后)。
但是,如果您查看SrSpeedbar包,我会看到一个选项:“sr-speedbar-refresh-turn-off”。一旦调用,它应该禁用刷新;坚持到任何地方。
答案 2 :(得分:0)
除了正确的@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程序包代码中提取的。这个程序包很有趣,但不适用于我。