250

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?

Sheharyar
  • 73,588
  • 21
  • 168
  • 215
lesce
  • 6,224
  • 5
  • 29
  • 35

5 Answers5

430

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>.

Sheharyar
  • 73,588
  • 21
  • 168
  • 215
romainl
  • 186,200
  • 21
  • 280
  • 313
  • 19
    closing and re-opening NERDTree doesn't work ... r works ! Thanks ! – lesce Jan 09 '12 at 20:12
  • 6
    Re-opening it didn't work because NERDTree caches the directory listing. You can see a message to that effect when refreshing with 'r'. – mqsoh Jan 09 '12 at 20:26
  • 3
    I'd looked over the `?` help three times and never saw `r`! – Cory Klein Jul 08 '14 at 19:49
  • 2
    Indeed, the NERDTree help window does not list the `r` shortcut – micahbf Oct 01 '14 at 22:48
  • 1
    The NERDTree `?` quickhelp does list these shortcuts, in its “Filesystem mappings” section. It lists “`r`: refresh cursor dir” and “`R`: refresh current root”. – Rory O'Kane Nov 26 '14 at 11:01
  • Upvoted for `Do you see "Press ? for help"? It means that you can press ? for help.` –  Jun 20 '16 at 13:16
24

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.

Muhammad Reda
  • 26,379
  • 14
  • 93
  • 105
11

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

Sheharyar
  • 73,588
  • 21
  • 168
  • 215
6

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.

name-1001
  • 120
  • 2
  • 4
3

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'

Patrick
  • 1,829
  • 19
  • 32