NERDTree reload new files

VimNerdtree

Vim Problem Overview


If I add a file to the same directory opened in NERDTree, the only way I can see the file added is if I quit vim and start it again .

Is there a way I can reload the files in NERDTree?

Vim Solutions


Solution 1 - Vim

You could close and reopen NERDTree or simply hit r to refresh the current directory's listing or R to refresh the root directory's listing .

Do you see "Press ? for help" at the top of the NERDTree window? It means that you can press ? for help. If you do, you will see an exhaustive listing of NERDTree shortcuts. That's neat.

More generally, many plugins have a thorough documentation that you can access with :help <pluginame>.

Solution 2 - Vim

As @romainl answered above; press r to refresh current directory or R to refresh root directory.

You can consider adding new files from nerdTree itself by pressing m, then a to add a new file (or directory by adding a trailing slash). This way you don't need to refresh nerdTree to see the new added file.

Solution 3 - Vim

Refresh NERDTree

Instead of hitting R in the NERDTree window, I use a custom map that does it for me:

nmap <Leader>r :NERDTreeRefreshRoot

I've mapped it to Leader + r, but you can map it to whatever you want.


Explanation:

  • It first switches to the NERDTree window
  • Then refreshes the Root Node (by simulating the R key)
  • And finally switches back to the previous window

Note: You can add a last step to refresh CtrlP along with NERDTree

Solution 4 - Vim

You can hit R button by using feedkeys function. Just like this:

call feedkeys("R")  

I have defined a function in my .vimrc file:

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

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

So, when I type ctrl+l, the NERDTree will be toggled and refresh root directory.

Solution 5 - Vim

Personally I prefer to trigger the refresh automatically when focusing the NERDTree window. This autocommand (in your .vimrc) will do it

autocmd BufEnter NERD_tree_* | execute 'normal R'

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionlesceView Question on Stackoverflow
Solution 1 - VimromainlView Answer on Stackoverflow
Solution 2 - VimMuhammad RedaView Answer on Stackoverflow
Solution 3 - VimSheharyarView Answer on Stackoverflow
Solution 4 - VimxusismeView Answer on Stackoverflow
Solution 5 - VimPatrickView Answer on Stackoverflow