问题
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
?
回答1:
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>
.
回答2:
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.
回答3:
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
回答4:
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.
来源:https://stackoverflow.com/questions/8793489/nerdtree-reload-new-files