Pregunta

Vim menú finalización 's para trabajar más como el en Visual Studio. Quiero ser capaz de escribir el comienzo de una variable (o algo así, que la terminación está disponible), golpear las teclas omni-terminación y obtener el menú finalización. Ahora quiero el menú de finalización para seleccionar el mejor partido, pero no añadirlo a la memoria intermedia. Ahora quiero ser capaz de golpear a cualquiera ENTER para introducir el elemento seleccionado o para introducir más letras para filtrar el menú realización aún más (posiblemente destacando un nuevo elemento en el menú de finalización) y luego pulsa enter para insertar.

La página wiki / consejos en http://vim.wikia.com/wiki/Make_Vim_completion_popup_menu_work_just_like_in_an_IDE se supone que debe hacerlo, pero no puedo conseguir que funcione. Tiene otra persona trató el código de esa punta y lo hizo funcionar como describo?

¿Fue útil?

Solución

La página wiki de referencia contenía asignaciones rotos. Un usuario (Spiiph) cambió el código de Vim a algo que se veía mejor a él, pero no estaba bien. Invertí los cambios que hizo y ahora el inoremap declaraciones debería funcionar.

Para evitar confusiones Estos son mi humilde opinión los comandos adecuados:

inoremap <expr> <c-n> pumvisible() ? "\<lt>c-n>" : "\<lt>c-n>\<lt>c-r>=pumvisible() ? \"\\<lt>down>\" : \"\"\<lt>cr>"
inoremap <expr> <m-;> pumvisible() ? "\<lt>c-n>" : "\<lt>c-x>\<lt>c-o>\<lt>c-n>\<lt>c-p>\<lt>c-r>=pumvisible() ? \"\\<lt>down>\" : \"\"\<lt>cr>"

PS: Cuando se trata de usar función de finalización de Vim me encontré con la guión SuperTab   muy conveniente. Tal vez este script también es interesante para usted en este contexto ...

Otros consejos

Yo uso SUPERTAB, que me gusta mucho, y la siguiente parece un gran trabajo:

imap <expr> <Tab> pumvisible() ? "<Tab>" : "<Tab><Down>"

A modo de referencia:. Estoy corriendo Debian sid, y esto funciona tanto para Vim 7.2.245 y 7.2.259 parcheado para mi

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