虽然has("menu")
可以告诉我gvim是否支持菜单命令,但如果当前存在任何菜单,是否有办法在vim脚本中进行测试?
我能想到的最接近的事情是执行:menu
命令并计算输出。例如,粗略的伪代码......
if count(":menu") != '0'
" something has created a menu and is visible on screen
else
" no menus have been created
endif
答案 0 :(得分:0)
您的要求不寻常;这就是为什么菜单项可能不在exists()
或类似于maparg()
的函数所涵盖的原因。
您必须按照伪代码中的说明执行此操作:
redir => menuOutput
silent! menu
redir END
if menuOutput =~# '--- Menus ---\n$'
" no menus
endif
PS:过度依赖菜单是Vim的“气味”;例如,当使用控制台Vim时,你没有它们(易于访问)。