speedbar - 如何修复基目录(不改变缓冲区切换)

时间:2013-02-25 08:45:10

标签: emacs emacs-speedbar

使用speedbar一段时间后,我发现它将根据当前显示的缓冲区更改基本目录。

如何禁用它?我只是希望在切换到另一个缓冲区时,speedbar什么都不做。

3 个答案:

答案 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程序包代码中提取的。这个程序包很有趣,但不适用于我。