3

客观的

Map kand jto<up><down>during 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 回答