繁体   English   中英

如何检查NIMDTree是否在vimscript中打开?

[英]how to check if NERDTree is open in vimscript?

我试图写一个命令来保存与NERDTree兼容的会话,我需要检查NERDTree是否打开,我找不到任何信息,但谷歌。

NERDTree在tab-local变量中内部存储其临时缓冲区的名称(表示Vim中的树内容)。 使用bufwinnr() ,您可以向Vim询问缓冲区当前是否已加载到窗口中。

我使用以下函数检查NERDTree是否存在(在当前标签页中;如果您需要全局,则必须使用gettabvar()迭代所有选项卡)。

function! IsNerdTreeEnabled()
    return exists('t:NERDTreeBufName') && bufwinnr(t:NERDTreeBufName) != -1
endfunction

NERDTree插件本身已经具有用于此目的的功能。

g:NERDTree.IsOpen()

例:

if exists("g:NERDTree") && g:NERDTree.IsOpen()
    ....
endif

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM