[英]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.