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

有没有办法重新加载NERDTree中的文件?


当前回答

你可以使用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将被切换并刷新根目录。

其他回答

刷新书

而不是在NERDTree窗口中点击R,我使用一个自定义地图来为我做这件事:

nmap <Leader>r :NERDTreeRefreshRoot

我已经把它映射到Leader + r,但你可以映射到任何你想要的。


解释:

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


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

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

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

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

你看到“Press”了吗?在NERDTree窗口顶部的“寻求帮助”?意思是你可以按?寻求帮助。如果这样做,您将看到NERDTree快捷方式的详尽列表。这是整洁的。

一般来说,许多插件都有一个完整的文档,你可以通过:help <pluginame>来访问。

就我个人而言,我更喜欢在聚焦NERDTree窗口时自动触发刷新。这个自动命令(在您的.vimrc中)将完成此任务

autocmd buffenter NERD_tree_* |

你可以使用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将被切换并刷新根目录。