GViM:测试是否已创建和/或可见任何菜单?

时间:2012-09-11 19:10:11

标签: vim

虽然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

1 个答案:

答案 0 :(得分:0)

您的要求不寻常;这就是为什么菜单项可能不在exists()或类似于maparg()的函数所涵盖的原因。

您必须按照伪代码中的说明执行此操作:

redir => menuOutput
silent! menu
redir END

if menuOutput =~# '--- Menus ---\n$'
    " no menus
endif

PS:过度依赖菜单是Vim的“气味”;例如,当使用控制台Vim时,你没有它们(易于访问)。