245

如果我将文件添加到在 中打开的同一目录中NERDTree,我可以看到添加的文件的唯一方法是退出 vim 并重新启动它。

有没有办法可以重新加载文件NERDTree

4

5 回答 5

426

您可以关闭并重新打开 NERDTree 或简单地点击r以刷新当前目录的列表或R刷新根目录的列表。

您是否在 NERDTree 窗口顶部看到“按?寻求帮助”?这意味着您可以?寻求帮助。如果这样做,您将看到详尽的 NERDTree 快捷方式列表。那很整齐。

更一般地说,许多插件都有完整的文档,您可以使用:help <pluginame>.

于 2012-01-09T20:06:25.283 回答
22

正如@romainl 上面回答的那样;按r刷新当前目录或R刷新根目录。

您可以考虑通过按 来从 nerdTree 本身添加新文件m,然后a添加新文件(或通过添加尾部斜杠来添加目录)。这样您无需刷新 nerdTree 即可查看新添加的文件。

于 2015-04-01T08:57:31.523 回答
7

刷新 NERDTree

R我没有在窗口中点击NERDTree,而是使用为我完成的自定义地图:

nmap <Leader>r :NERDTreeRefreshRoot

我已将其映射到Leader+ r,但您可以将其映射到您想要的任何内容。


解释:

  • 它首先切换到NERDTree窗口
  • 然后刷新根节点(通过模拟Rkey)
  • 最后切换回上一个窗口

注意:您可以添加最后一步以刷新 CtrlP 以及 NERDTree

于 2016-10-22T21:35:08.687 回答
6

您可以使用feedkeys功能点击 R 按钮。像这样:

call feedkeys("R")  

我在 .vimrc 文件中定义了一个函数:

fun! ToggleNERDTreeWithRefresh()
    :NERDTreeToggle 
    if(exists("b:NERDTreeType") == 1)
        call feedkeys("R")  
    endif   
endf 

nmap <silent> <c-l> :call ToggleNERDTreeWithRefresh()<cr>  

因此,当我键入ctrl+时l,NERDTree 将被切换并刷新根目录。

于 2016-11-10T06:10:43.120 回答
2

就我个人而言,我更喜欢在聚焦NERDTree 窗口时自动触发刷新。这个自动命令(在你的)会做.vimrc

autocmd BufEnter NERD_tree_* | execute 'normal R'

于 2021-01-24T20:26:03.887 回答