9

我知道我可以通过CTRL+N&来完成单词,CTRL+P并通过omnifunc with 来完成代码CTRL+X CTRL+O。我还尝试了 Supertab(非常好),因为我习惯了 TAB 完成。这一切都很好。我想在打字时查看可能的匹配项,所以我也尝试了autocomplpop.vim,witch 就是这样做的。

不过,我想完成的是将两者结合在一起并稍作改动:我希望在我输入时看到建议弹出(就像 with 一样autocompop),但是当我使用TAB 该词时,应将其扩展为最大的常见匹配项

foo bar testor booze test baz teter
te<TAB>

在我输入te第二行后,弹出窗口应该建议test,tetertestor.

当我按下TAB时,它应该什么都不做,因为没有比 更多的共同点te。在我输入附加内容s并按TAB后,它应该扩展testest(因为它是最小的共同点)并testor在 2nd 之后扩展TAB

编辑:我试着更清楚......

  • te<TAB>
    • 应该什么都不做,因为“我们”不知道应该跟着一个“t”(te t er)还是一个“s”(te s t,te s tor)。
  • tes<TAB>
    • 应该扩展到test(因为它适用于 - 测试和测试者 - 并且 teter 不再是可能的匹配项)。
  • test<TAB>
    • 应扩展为testor(仅可能匹配)。

好吧,建议弹出窗口只是奖励,但我真的很想看到这种TAB行为。希望我在这里没有深奥,你可以帮助我用一些脚本技巧或插件来驯服 VIM 来做到这一点。

4

1 回答 1

6
:set completeopt=longest,menu,preview

也许?

(我不确定你的说法是否

“当我按 TAB 时,它应该什么都不做,因为没有比 te 更多的共同点”

与您后来的陈述冲突

“在第二个 TAB 后测试。”

在我看来,在那一点上没有比“测试”更多的共同点......除非你的意思是第一个标签进入最长的共同点,然后随后的标签循环通过其他匹配,在这种情况下你是在我上面的内容之后......)

于 2009-06-28T16:33:33.103 回答