emacs - 强制 Neotree 停留在项目根目录

标签 emacs

我正在使用新树和弹丸。我可以使用neotree-find-project-root 在我的项目根目录打开neotree,它很漂亮。

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

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

(使用 neotree-find-project-root 再次关闭和打开 neotree 会将其带回根目录,但手动执行此操作很痛苦。必须有一种方法可以自动执行此操作吗?)

最佳答案

我没有看到配置 Neotree 来执行此操作的方法。您可以考虑向neotree的开发者提交问题。 ,因为这似乎是一个常见的功能请求。

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

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

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

关于emacs - 强制 Neotree 停留在项目根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44081949/

相关文章:

emacs - 在 emacs 中重新绑定(bind)键时的意外行为

html - 如何让 emacs 仅在打开 php/html 文件时加载 nXhtml 并阻止它在启动时加载

emacs - 新创建的 Emacs init 文件不会加载

来自 http ://marmalade-repo. org/的包安装的 Emacs 自动完成不起作用

Emacs:如何访问所有 sql 模式缓冲区并设置适当的 sql 缓冲区

function - 如何在 Elisp 中传递 lambda 表达式

西方和其他如 rtl 的 emacs 字体

emacs - 如何(自动)删除或防止在 emacs 中弹出 *Async Sh​​ell Command*?

emacs - 错误 : Key sequence

Emacs 击键表示混淆