2010-07-01 11 views
5

En Vim 7, Ctrl-X Ctrl-O muestra una lista de posibles valores, pero creo que esta secuencia de claves es demasiado larga cuando uso frecuentemente la función de autocompletar. Por ejemplo, en un archivo HTML, me gustaría ver la lista emergente automáticamente después de escribir un < seguido de una o dos letras. En un archivo CSS, me gustaría ver la lista después de presionar la tecla ":". ¿Hay alguna manera de configurar esto?Mostrar Vim omnicomplete en ciertos caracteres en lugar de Ctrl-X Ctrl-O?

Respuesta

8

Para activar la omnicompleción al escribir un ":" puede usar la siguiente asignación.

imap : :<c-x><c-o> 

La desventaja es que cada vez que se pulsa ":" va a ser activado omnicompletion, incluso al escribir ":" en los comentarios o en cualquier otro contexto en el que no desea que omnicompletion.

he asignado Ctrl-espacio para omnicompletion activa:

imap <c-space> <c-x><c-o> 

Esto me da la opción de activar omni cuando lo necesito.

+0

Tendría que estar de acuerdo con Habi en este caso. Es mejor desencadenar específicamente omni-completado cuando lo necesite que tenerlo activado automáticamente. La omni-terminación debe ser una herramienta para ayudarlo, no una muleta en la que confíe. – jamessan

+3

diría, simplemente restringir al tipo de archivo CSS (como la única vez que usted escribe: es cuando se quiere esas opciones 'au FileType css IMAP:.: ' – sleepynate

+0

@sleepynate Gracias, esto es exactamente lo ¡Quise! – geoffeg

1

Otra alternativa que encontré más fácil es simplemente presionar la pestaña dos veces cuando desee autocompletar, y una vez para la pestaña normal. Añadir la siguiente línea a su archivo ~/.vimrc

imap <tab><tab> <c-x><c-o> 
Cuestiones relacionadas