vim menu omnicomplete

¿Hay alguna manera de cambiar el comportamiento del menú vim omnicomplete?



menu (4)

Este complemento puede hacer lo que está buscando: autocomplpop

O puede intentar que el menú emergente de compleción de Vim funcione como en un IDE .

Omnicompletion funciona, pero inserta automáticamente el primer resultado.

Lo que me gustaría hacer es abrir el menú omnicompleto, luego poder escribir para reducir los resultados, luego presionar enter o tab o espacio o algo para insertar el elemento de menú seleccionado.

es posible?


El comando que estás buscando es:

:set completeopt+=longest

Insertará el prefijo común más largo de todas las sugerencias, luego puede escribir y eliminar para reducir o ampliar los resultados.


Este es el comportamiento general de finalización de Vim. Para una descripción completa, puedes hacer

:he compl-current

Pero para su caso específico (que requiere que la terminación esté en el estado 2 o 3 (descrito en el documento anterior). Simplemente puede usar Retroceso o Control-H para pasar del estado uno al estado 2. En el estado 2 puede acotar la búsqueda escribiendo caracteres regulares. Para completar con el estrechamiento:

compl<C-X><C-P><BS>letion

Es totalmente al revés, lo sé, pero así es como funciona.

Editar: También puede usar la tecla de flecha hacia abajo para obtener Control-H o Retroceso, y tiene la ventaja de no eliminar un carácter.


set wildmenu set wildmode=list:longest,full

Encontrado aquí . También hay un gran complemento para todas sus necesidades de finalización, llamado SuperTab continuado .