¿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 .