使用NERDTree插件时,默认行为是打开一个新文件并保持NERDTree缓冲区打开。我想要做的是保留此默认行为,但也可以在需要时覆盖它,以便打开文件后将关闭NERDTree缓冲区。
我知道let NERDTreeQuitOnOpen=1
当我打开新文件时可以用来自动关闭NERDTree缓冲区,但是此选项完全覆盖默认行为(这不是我想要的)。
理想情况下,我想知道NERDTree中是否有内置功能来执行我想要的操作。(我一直在搜索,但没有找到类似的东西,所以我想它实际上不存在)
如果不存在,我有两个想法:
首先是创建一个将设置
NERDTreeQuitOnOpen
为的功能1
,打开文件,然后再次NERDTreeQuitOnOpen
将其设置为0
。第二个是创建以下映射:
map d<CR> <CR> :NERDTree <CR> :bd<CR>
打开文件(第一个<CR>
),返回到NERDTree缓冲区(:NERDTree <CR>
),然后关闭该缓冲区(:bd <CR>
)。我应该改进它,以便映射仅存在于NERDTree缓冲区中,但是我认为这是一个非常丑陋的解决方案,我认为可以对其进行改进。
哪个主意最好,为什么?还是有更好的选择?
map d<cr> <cr>:NERDTreeClose<cr>
用于映射?