Pregunta

En vim, utilizo Ctrl-n a la palabra mientras completa en modo de inserción. Si hay más de una coincidencia posible, aparece un menú desplegable de la que puede seleccionar una de las posibles coincidencias con las teclas de flecha.

Sin embargo, no quiero utilizar las teclas de flecha; Quiero usar las teclas 'k' 'j' y. Pero cuando escribo 'j' o 'k', inserta las letras en lugar de ir hacia arriba o hacia abajo en el menú desplegable. ¿Hay alguna manera de configurar Vim hacer esto de la manera que quiero?

¿Fue útil?

Solución

:h href="http://vimdoc.sourceforge.net/htmldoc/insert.html#popupmenu-keys" rel="nofollow noreferrer"> popupmenu-keys .

No hay un conjunto especial de asignaciones para el sub-modo de menú emergente, pero se puede hacer un mapeo-modo de inserción condicional:

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

Esto hace j / k navegar el menú emergente como <C-N> / <C-P>, si bien es visible.

Adición: Si usted quiere ser capaz de mantener el control mientras se escribe j y k, puede reemplazarlos con <C-J> y <C-K>, respectivamente. (Véase el comentario de mwcz a esta respuesta.)

Otros consejos

No sé de una manera de cómo hacerlo con j y k. Usted está en el modo de inserción, que no funcionan.

Sin embargo, no tengo otra forma de, Ctrl + N funciona como de la lengüeta, y se puede utilizar Mayúsculas - Tab para ir por la lista y Tab para ir hacia arriba. Es más fácil que utilizar las teclas de flecha. Pero no tan bien como jyk sería.

O simplemente puede usar Ctrl + N y Ctrl + P

SuperTab (http://www.vim.org/scripts/script.php?script_id=1643) pueden ayudarle. Una vez instalado, puede usar Tab y Tab-Shift para navegar por el menú pop-up.

Vea este documento también: http://vim.wikia.com/wiki/Omni_completion_popup_menu

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top