NERDTree重新加载新文件

时间:2012-01-09 18:45:59

标签: vim nerdtree

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

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

5 个答案:

答案 0 :(得分:380)

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

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

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

答案 1 :(得分:21)

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

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

答案 2 :(得分:7)

刷新NERDTree

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

nmap <Leader>r :NERDTreeRefreshRoot

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

<强>解释

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

注意:您可以向refresh CtrlP along with NERDTree添加最后一步

答案 3 :(得分:3)

您可以使用 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并刷新根目录。

答案 4 :(得分:1)

我个人更喜欢在 聚焦 NERDTree 窗口时自动触发刷新。此自动命令(在您的 .vimrc 中)将执行此操作

autocmd BufEnter NERD_tree_* | execute 'normal R'