11

最近、矢印キーを no-op にマップするように変更して、vim ナビゲーションを適切に使用するように強制しました。vim で単語補完を使用すると、可能な補完の単語リストがポップアップ表示されます。以前は矢印キーを使用してこれをナビゲートしていましたが、現在は完了開始と同じマッピングを使用して反復する必要があります。

このメニューがポップアップしたとき、vim は挿入モードのままですか、別のモードに変更されますか、それとも変更された挿入モード (paste-toggle と同様) に入り、jおよびkマッピングを変更してリスト内を移動できますか?

そうでない場合、ポップアップの開閉時にメソッドを呼び出す方法はありますか?

4

2 に答える 2

4

挿入モード補完候補のポップアップメニューは挿入モードに属し、特別なサブモードはありません。:inoremap <expr>区別するには、条件 on でマップ式を使用する必要がありますpumvisible()。たとえばj、次の補完候補を選択するために再マップするには:

:inoremap <expr> j pumvisible() ? '<C-n>' : 'j'

これにより、 を含む候補名を入力jしてドリルダウンし、リストから選択することができないことに注意してください(これは で特に便利です:set completeopt+=longest)。

于 2013-07-22T06:46:55.717 に答える
2

Navigate completions via <c-p> and <c-n>. See :h ins-completion for more information.

于 2013-07-22T03:45:20.207 に答える