【问题标题】:How to refresh in NERDTree plugin如何在 NERDTree 插件中刷新
【发布时间】:2011-12-21 01:47:18
【问题描述】:

当我在 vim 中使用 (Directory A in) NERDTree 打开一个文件时,它运行良好。

但是如果我在另一个目录(目录 B)中再打开一个文件,它不会刷新以显示目录 B 的内容(虽然它仍然显示目录 A)。

NERDTree可以自己自动刷新吗?

【问题讨论】:

  • 如果其他人来这里想了解如何刷新目录下的文件列表,只需选择目录节点并按r
  • @JamesMcLaughlin 将其添加为答案。会投票。
  • NERDTree reload new files的可能重复

标签: vim nerdtree


【解决方案1】:

来自https://gist.github.com/geekontheway/2667442 :只需点击rR 键即可刷新当前树。可以映射到.vimrc中的自动刷新

【讨论】:

    【解决方案2】:

    刷新 NERDTree 的键盘映射

    我没有切换到 NERDTree 窗口,点击 R 并切换回来,而是使用了一个自定义地图来为我做这件事:

    nmap <Leader>r :NERDTreeFocus<cr>R<c-w><c-p>
    

    一旦设置,按下 Leader + r 将刷新NERDTree


    注意:由于我也使用 CtrlP,所以我的实际按键映射有最后一步到 refresh CtrlP after refreshing NERDTree

    【讨论】:

    • @Jérôme,非常适合我。我已经使用了很长时间了;在终端和 gvim/macvim - 在 linux 和 osx 上。
    • 它可能会执行它的任务,但是 \| 是多余的。实际上,这些应该在 NERDTree 窗口中多次移动光标(除非您在 &lt;Space&gt; 上有映射)。
    【解决方案3】:

    打开新文件后,只需发出:NERDTreeFind 命令。它将选择 NerdTree 中的当前编辑文件节点。如果节点不存在,NerdTree 将初始化一棵新树,其根为当前文件的目录。

    您可以在打开 vim 时使用自动命令跟踪目录。

    au VimEnter * NERDTreeFind

    【讨论】:

      【解决方案4】:

      我讨厌必须手动刷新我的 NERDTree 插件的想法。所以,我已将此添加到我的.vimrc

      map <C-n> :call NERDTreeToggleAndRefresh()<CR>
      
      function NERDTreeToggleAndRefresh()
        :NERDTreeToggle
        if g:NERDTree.IsOpen()
          :NERDTreeRefreshRoot
        endif
      endfunction
      

      现在,NERDTree 每次打开都会刷新。

      【讨论】:

      • 这应该是公认的答案。完美运行
      【解决方案5】:

      对于 2016 年看到此内容的任何人,这对我有用:

      autocmd CursorHold,CursorHoldI * call NERDTreeFocus() | call g:NERDTree.ForCurrentTab().getRoot().refresh() | call g:NERDTree.ForCurrentTab().render() | wincmd w
      

      享受吧!

      【讨论】:

      • 哦,有没有办法调整这个 sn-p,以便在使用额外的窗口拆分时记住当前窗口?事实上,这有一个不幸的副作用,即强制光标进入特定位置,相对于拆分配置。
      【解决方案6】:

      无论打开什么新文件,NerdTree 都会一直指向最初打开 vim 的目录。

      要更改它,请将光标放在 NerdTree 窗口内所需的目录节点上,然后按cd

      NerdTree 将在命令行中确认目录更改:

      NERDTree:CWD 现在是:[此处的新目录]

      请注意,这通常也会更改 vim 的工作目录,这在运行 :edit somefile 之类的命令时很重要。

      【讨论】:

      • 可以使用此设置自动执行:let NERDTreeChDirMode=2
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-10
      • 2012-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-15
      相关资源
      最近更新 更多