2

我还没有弄清楚如何通过:ex .(NERDTreeHijackNetrw = 1)将光标定位在与NerdTree缓冲区openend中的第一个文件条目相对应的第四/第五行。

我的 .vimrc 中的以下行不起作用:

autocmd BufEnter * silent! if (exists("b:NERDTreeType") && b:NERDTreeType == "secondary") | <missing command> | endif
4

1 回答 1

1

我一直在尝试多种方式,但问题是所有 NERDTrees 内部方法都是私有的(它们是在它们的前面定义的s:,因此很难重用它们),而且挂钩 BufEnter 事件是不是很有用,因为当该事件被触发时,NERDTree 似乎还没有完全初始化。

目前,我认为这将是最好的解决方案:

fun! NewTreeOpen()
    NERDTreeFind
    wincmd o
    let g:NERDTreeQuitOnOpen=1
endfun

这是做什么的:

  • 打开一个新的 NERDTree 侧边栏窗口,并选择您当前的文件
  • 使 NERDTree 窗口成为唯一的窗口
  • 告诉 NERDTree 在您选择文件后再次关闭(全尺寸)侧边栏

我希望这已经足够好了。否则我认为您应该向 NERDTree 的作者提出功能请求,询问他是否可以添加此内容。

于 2013-01-11T14:39:11.957 回答