Pergunta

No VIM, eu uso o Ctrl-N para o Word completo enquanto estiver no modo de inserção. Se houver mais de uma correspondência possível, recebo um suspensão do qual posso selecionar uma das correspondências possíveis usando as teclas de seta.

No entanto, não quero usar as teclas de seta; Eu quero usar as teclas 'J' e 'K'. Mas quando eu digito 'J' ou 'K', ele insere as letras em vez de subir ou descer no menu suspenso. Existe uma maneira de configurar o VIM para fazer isso da maneira que quero?

Foi útil?

Solução

Ver :hpopupmenu-keys.

Não existe um conjunto especial de mapeamentos para o submodo do menu pop-up, mas você pode fazer um mapeamento condicional de modo de inserção:

inoremap <expr> j pumvisible() ? "\<C-N>" : "j"
inoremap <expr> k pumvisible() ? "\<C-P>" : "k"

Isto faz j/k Navegue no menu pop -up como <C-N>/<C-P>, enquanto é visível.

Adendo: se você deseja manter o controle enquanto digita j e k, você pode substituí -los por <C-J> e <C-K>, respectivamente. (Veja o comentário da MWCZ para esta resposta.)

Outras dicas

Não sei de uma maneira de fazer isso com J e K. Você está no modo de inserção, eles não funcionam.

Mas, eu tenho outra maneira para você, Ctrl+N funciona da mesma forma que a guia e você pode usar Mudança-Aba Para descer a lista e a guia para subir. É mais fácil do que usar as teclas de seta. Mas não é tão legal quanto J e K seriam.

Ou você pode simplesmente usar Ctrl+N e Ctrl+P

Supertab (http://www.vim.org/scripts/script.php?script_id=1643) pode ajudá -lo. Depois de instalado, você pode usar a guia e o deslocamento da guia para navegar no menu pop-up.

Veja este documento também: http://vim.wikia.com/wiki/omni_completion_popup_menu

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top