9

CTRL+N&CTRL+Pを介して単語補完を取得し、 omnifunc with を介してコード補完を取得できることを知っていCTRL+X CTRL+Oます。私はTAB補完に慣れているので、さらにSupertabを試しました(とてもいいです)。それはすべてうまくいきました。入力中に可能な一致を確認したいので、autocomplpop.vimも試しました。魔女はそれを行います。

私が達成したいのは、少しひねりを加えた両方の組み合わせです。入力すると(のように)提案がポップアップするのを見たいのですが、単語autocompopを使用するときは、最大の一般的な一致にのみ展開する必要があります:TAB

foo bar testor booze test baz teter
te<TAB>

2 行目を入力teすると、ポップアップtestに ,tetertestor.

を押しTABても、 以外に共通点がないため、何もしないはずですte。追加入力してsを押すと、 (これが最小の共通点であるため) にTAB展開tesされ、2 番目の.testtestorTAB

編集:もっと明確にしようとしています...

  • te<TAB>
    • ' t ' (te ter) または 's' (test te s tor) が続くかどうか「私たち」にはわからないため、何もしないでください。
  • tes<TAB>
    • に拡張する必要がありtestます (これは test と testor の両方で機能し、teter はもはや一致する可能性がないため)。
  • test<TAB>
    • testor(可能な一致のみ)に展開する必要があります。

まあ、提案ポップアップはおまけですが、私は本当に動作を見たいと思っていTABます. ここで難解にならないように願っています.VIMを使いこなすためのスクリプトトリックやプラグインを手伝ってください.

4

1 に答える 1

6
:set completeopt=longest,menu,preview

多分?

(あなたの発言が正しいかどうかはわかりません。

「TAB を押しても、何もしないはずです。なぜなら、te ほど共通点がないからです」

あなたのその後の発言と矛盾する

「2回目のTABの後にテスターへ」

その時点で「テスト」よりも共通点はないように思えます...最初のタブが最長の共通点に行き、その後のタブが他の一致を循環することを意味しない限り、その場合、あなたは私が上に持っているものの後...)

于 2009-06-28T16:33:33.103 に答える