Событие autocmd для MenuPopup в Vim - PullRequest
       24

Событие autocmd для MenuPopup в Vim

3 голосов
/ 11 февраля 2012

Объектив

Карта k и j до <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.

такого события нет.

1 Ответ

2 голосов
/ 31 октября 2012

Событие MenuPopup относится не к меню завершения режима вставки, а к меню, вызываемому нажатием правой кнопки мыши.

Чтобы изменить сопоставления, когда отображается меню завершения, используйте <expr> сопоставлений, которые оценивают pumvisible():

:inoremap <expr> j pumvisible() ? '<Down>' : 'j'
:inoremap <expr> k pumvisible() ? '<Up>' : 'k'
...