1

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
4

1 に答える 1

0

あなたの要求は異常です。そのため、メニュー項目はおそらくexists()または に類似した機能でカバーされていませんmaparg()

擬似コードで概説されているように、これを行う必要があります。

redir => menuOutput
silent! menu
redir END

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

PS: メニューへの過度の依存は Vim の「におい」です。1 つには、コンソール Vim を使用している場合、それらがありません (簡単にアクセスできます)。

于 2012-09-11T20:26:19.817 に答える