2011-01-25 13 views
10

Considere el scenerio cuando he escrito:Vim finalización omni: continuar escribiendo para seleccionar la opción deseada

file.f 

Cuando escribo Ctrl-XCtrl-O se muestra la ventana emergente omni-terminación y la primer elemento seleccionado Esto es lo que veo:

file.fileno 
     --------- 
     fileno() <-- highlighted 
     flush() 
     --------- 

en cuenta que el texto que he escrito ("file.f") ya ha cambiado a:

file.fileno 

me puedo mover la selección en la lista de ' ras', pulse ENTER y que va a terminar con

f.flush() 

Pero me gustaría seguir escribiendo el nombre del método deseado en lugar de utilizar las teclas de flecha. Es decir. Me gustaría escribir "file.f", "Ctrl-X Ctrl-O", "L" y obtener ya sea

file.fileno 
     --------- 
     flush() 
     --------- 

o

file.fileno 
     --------- 
     fileno() 
     flush() <-- highlighted 
     --------- 

es esto posible? Tal vez se deba cambiar alguna configuración omni-completa, o debería usar una combinación de teclas diferente en lugar de Ctrl-XCtrl-O?

Respuesta

14

Agregue: set completeopt+=longest a su archivo .vimrc.

Esto indicará a omnicomplete que solo inserte el texto común más largo de todas las coincidencias.

Para obtener más información, ejecute el comando :help completeopt mientras está en vim.

+5

Otra forma es presionar CTRL + P, y escribir más texto. – alex2k8

+0

gran consejo, gracias – clime

Cuestiones relacionadas