NERDTree重新加载新文件

les*_*sce 231 vim nerdtree

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

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

rom*_*inl 399

您可以关闭并重新打开NERDTree,或者只需点击r以刷新当前目录的列表或R刷新根目录的列表.

你看到NERDTree窗口顶部的"按?求助"吗?这意味着您可以?寻求帮助.如果您这样做,您将看到NERDTree快捷方式的详尽列表.那很整齐.

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

  • 关闭并重新打开NERDTree不起作用... r工作!谢谢 ! (14认同)
  • 重新打开它不起作用,因为NERDTree缓存目录列表.使用'r'刷新时,您可以看到相应的消息. (5认同)
  • 我三次看了```帮助,从未见过`r`! (3认同)
  • 确实,NERDTree帮助窗口没有列出`r`快捷方式 (2认同)

Muh*_*eda 21

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

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


She*_*yar 7

刷新NERDTree

我没有RNERDTree窗口中点击,而是使用自定义地图为我做的:

nmap <Leader>r :NERDTreeRefreshRoot
Run Code Online (Sandbox Code Playgroud)

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


说明:

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

注1:您必须使用递归映射(即map或nmap而不是noremap或nnoremap)

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

  • 你可以在没有聚焦树的情况下映射到`:NERDTreeRefreshRoot`。 (2认同)

小智 6

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

call feedkeys("R")  
Run Code Online (Sandbox Code Playgroud)

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

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

nmap <silent> <c-l> :call ToggleNERDTreeWithRefresh()<cr>  
Run Code Online (Sandbox Code Playgroud)

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