你知道,Vim 可以使用 &completefunc 来显示弹出菜单。每个 menuitem 是一个包含以下项目的字典:'word'、'abbr'、'menu'、'info'、'kind'、'icase'、'dup'。
我如何才能获得目前选择的菜单项?当用户选择一些菜单项时,我需要执行一些操作,因此,我需要获取此菜单项的字典。
这个问题的解决方案非常棘手。您需要异步工作,覆盖一些东西,并解释临时插入的文本。
我确实在 vim 官方邮件列表上回答了类似的问题。(要搜索的标题是:Custom Completion Function,Message-ID是b9811558-6ad0-44ba-a293-4e7fe24f84d2@zimbra60-e10.priv.proxad.net)
从那时起(2011 年),我改进了我一直在使用的代码。我已经相当广泛地描述了vi.SE的结果。