【发布时间】:2010-09-23 13:23:38
【问题描述】:
Omnicompletion 正在运行,但它会自动插入第一个结果。
我想做的是打开全能菜单,然后能够键入以缩小结果范围,然后按 Enter 键或制表符或空格或其他东西来插入所选菜单项。
这可能吗?
【问题讨论】:
标签: vim menu omnicomplete
Omnicompletion 正在运行,但它会自动插入第一个结果。
我想做的是打开全能菜单,然后能够键入以缩小结果范围,然后按 Enter 键或制表符或空格或其他东西来插入所选菜单项。
这可能吗?
【问题讨论】:
标签: vim menu omnicomplete
您要查找的命令是:
:set completeopt+=longest
它将插入所有建议中最长的公共前缀,然后您可以键入并删除以缩小或扩大结果。
【讨论】:
set wildmenu
set wildmode=list:longest,full
找到here。 还有一个很棒的插件可以满足您的所有完成需求,称为SuperTab continued。
【讨论】:
这个插件可能会满足你的需求:autocomplpop
或者你可以尝试制作 Vim 补全弹出菜单work just like in an IDE。
【讨论】:
这是一般的 Vim 完成行为。要获得完整的概述,您可以这样做
:he compl-current
但是对于您的特定情况(您需要完成状态为 2 或 3(在上面的文档中进行了描述)。您可以简单地使用 Backspace 或 Control-H 从状态一跳转到状态二。在状态2 您可以通过键入常规字符来缩小搜索范围。所以要通过缩小来完成:
compl<C-X><C-P><BS>letion
这完全是倒退,我知道,但这就是它的工作原理。
编辑:您也可以使用向下箭头键而不是 Control-H 或 Backspace,它的好处是不删除字符。
【讨论】: