迫使neotree留在项目根

时间:2017-05-20 04:35:42

标签: emacs

我使用的是neotree和projectile。我可以使用neotree-find-project-root在我的项目根目录下打开neotree,它很漂亮。

当我在子文件夹中打开文件时,它会将neotree根目录更改为包含该文件的文件夹。这对我来说没有什么用,如果neotree视图仍然是项目的根目录。

我可以强制neotree始终显示项目根文件夹,而不是自动下载到子文件夹中吗?

(使用neotree-find-project-root将neotree关闭再打开会将其恢复到根目录,但手动执行此操作会很痛苦。必须有办法自动执行此操作吗?)< / p>

1 个答案:

答案 0 :(得分:0)

我没有看到配置neotree的方法。您可以考虑向neotree的开发人员提交问题,因为这似乎是一个常见的功能请求。

作为一种hacky修复,你可以尝试这样的事情。

(add-hook 'find-file-hook
    (lambda ()
        (let ((buffer (current-buffer)))
            (neotree-find (projectile-project-root))
            (set-buffer buffer))))

每次打开新文件时都会运行此挂钩。它将ne​​otree目录更改为projectile项目根目录,然后将当前缓冲区设置为您正在使用的原始缓冲区。