【发布时间】:2012-01-09 18:45:59
【问题描述】:
如果我将文件添加到在NERDTree 中打开的同一目录中,我可以看到添加的文件的唯一方法是退出 vim 并重新启动它。
有没有办法重新加载NERDTree 中的文件?
【问题讨论】:
如果我将文件添加到在NERDTree 中打开的同一目录中,我可以看到添加的文件的唯一方法是退出 vim 并重新启动它。
有没有办法重新加载NERDTree 中的文件?
【问题讨论】:
您可以关闭并重新打开 NERDTree 或直接点击 r 刷新当前目录的列表或 R 刷新根目录的列表。
您是否在 NERDTree 窗口顶部看到“按?寻求帮助”?这意味着您可以按 ? 寻求帮助。如果这样做,您将看到详尽的 NERDTree 快捷方式列表。这很整洁。
更一般地说,许多插件都有完整的文档,您可以通过 :help <pluginame> 访问。
【讨论】:
? 帮助三遍,但从未见过 r!
r 快捷方式
? quickhelp 确实在其“文件系统映射”部分列出了这些快捷方式。它列出了“r:刷新光标目录”和“R:刷新当前根目录”。
正如@romainl 上面回答的那样;按 r 刷新当前目录或按 R 刷新根目录。
您可以考虑通过按 m 来从 nerdTree 本身添加新文件,然后按 a 来添加新文件(或通过添加尾部斜杠来添加目录)。这样您无需刷新 nerdTree 即可查看新添加的文件。
【讨论】:
我没有在NERDTree 窗口中点击R,而是使用了一个自定义地图来为我完成它:
nmap <Leader>r :NERDTreeRefreshRoot
我已经将它映射到 Leader + r,但是你可以将它映射到任何你想要的。
说明:
NERDTree窗口R键)注意:您可以将最后一步添加到refresh CtrlP along with NERDTree
【讨论】:
:NERDTreeRefreshRoot而不用聚焦树。
您可以使用 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 窗口时自动 触发刷新。这个自动命令(在你的 .vimrc 中)会这样做
autocmd BufEnter NERD_tree_* | execute 'normal R'
【讨论】: