答案1
Vim:如何将 NERDTree 与当前打开的选项卡文件路径同步?
这个map <leader>r :NERDTreeFind<cr>
答案对我有用。
答案2
我正在寻找一种解决方案,可以在每次 BufEnter 时自动执行此操作。这种简单的方法行不通,因为我再也无法离开我的 NERDTree 了 :-) - NERDTreeFind 将窗口更改为 NERDTree,当您返回包含文件的窗口时,它会再次触发。
我找到了解决方案:https://superuser.com/a/474298/175466,但我遇到了一个小问题:我通常将 cwd 设置为项目根目录,然后使用 NERDTree 和 CtrlP。有时我想编辑 cwd 之外的文件,例如 ~/.vimrc,NERDTreeFind 会将 cwd 更改为我的主文件夹。这也会更改树根目录,当我切换回来时,NERDTreeFind 会从我的主目录向下搜索文件(它很大)。
因此,我扩展了@Lambart 的解决方案,添加一个函数来检查当前文件是否在 cwd 内,如果在则只使用 NERDTreeFinds。
您可以在此处找到它要旨
答案3
“接受的答案”根本没有解决原始问题。问题是不要改变树根。 https://github.com/scrooloose/nerdtree/pull/72似乎是解决方案,但这个 PR 从未合并到代码中。什么是正确的解决方案?