使NERDTree按预期工作

4
我希望能够在NERDTree中单击或双击文件,并将其打开到右侧分屏,同时保持NERDTree的打开状态。我还没有找到在我的.vimrc上实现这一点的方法,请问有谁能帮忙吗?
我想让它的行为像任何GUI文本编辑器一样,其中资源管理器保持不变,文件在“主窗格”中打开和关闭。
感谢您的任何见解!

关于你的.vimrc文件,可能需要更多的信息。我的默认NERDTree安装的行为与你描述的完全一致——甚至包括双击打开文件,这是我之前没有尝试过的。不需要什么魔法。 - michaelmichael
嗯,我以为我很普通;等我回到工作岗位后,明天可以重新发布。 - Alex Mcp
2个回答

11

在你的 .vimrc 中尝试这个:

:let NERDTreeQuitOnOpen = 0

我发现以下映射很有用:

nnoremap <Leader>d :let NERDTreeQuitOnOpen = 1<bar>NERDTreeToggle<CR>
nnoremap <Leader>D :let NERDTreeQuitOnOpen = 0<bar>NERDTreeToggle<CR>

因此,\d 打开一个在文件选择后关闭的 NERDTree,而 \D 则打开一个持久/固定的 NERDTree。


2
太棒了,就是这样。所以学习/设置vim时,永远不要盲目地采用别人的设置作为自己的设置。最好逐行添加代码,按照自己的需求构建程序。 :-) - Alex Mcp
嗯,出于某种原因,NERDTreeQuitOnOpen 对我似乎不起作用。 - tcurdt
在按下'o'打开目录中的文件后,NERDTree被关闭了。因此,将设置添加到配置文件中基本上是不起作用的。请将以下文本翻译成中文。 - daGo

1
在您的 .vimrc 配置文件中添加以下行将使 vim 在打开目录 vim ReactProjectFolder 时自动打开 NERDTree,并防止在首次选择文件时隐藏 NERDTree。
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | wincmd p | ene | exe 'NERDTree' argv()[0] | endif

nerdtree f.a.q中获取。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接