3

目的

次のように、kj<up>とをマップします。<down>ins-completion

autocmd MenuPopup inoremap k <down>
autocmd MenuPopup inoremap j <up>

MenuPopupがなくなったら、一時的なマッピングを元に戻します。

autocmd MenuPopupGone iunmap k
autocmd MenuPopupGone iunmap j

質問

の正しいautocmdイベントは何MenuPopupGoneですか? 私が知る限り:help event、 にはそのようなイベントはありませんMenuPopupGone

4

1 に答える 1

2

このMenuPopupイベントは、挿入モードの完了メニューではなく、マウスの右ボタンクリックで表示されるメニュー用です。

完了メニューが表示されているときにマッピングを変更するには、以下<expr>を評価するマッピングを使用しpumvisible()ます。

:inoremap <expr> j pumvisible() ? '<Down>' : 'j'
:inoremap <expr> k pumvisible() ? '<Up>' : 'k'
于 2012-10-31T16:04:42.250 に答える