2009-10-01 14 views
6

Mientras busco mi nirvana de terminación de python en vim, he llegado a amar de verdad < C-x > < C-i >: "palabras clave en los archivos actuales y incluidos". Esto casi siempre me da un nombre largo y desagradable de otro módulo completado, que es genial.Finalización de palabra clave de varios archivos más rápida en Vim?

(Omni-realización es obviamente mejor cuando funciona, pero con demasiada frecuencia se informa de que no puede encontrar ninguna coincidencia. Ok, Python no es Java, lo entiendo)

El único problema con este multi -la finalización del archivo es muy lenta: en mi netbook, un archivo con un conjunto razonable de importaciones puede tomar hasta 4 o 5 segundos para analizar cada vez que toco <Cx> <Ci>. Parece que carga cada archivo importado cada vez que pulso < C-x > < C-i >. ¿Hay alguna forma de almacenar en caché los archivos o acelerar este proceso? ¿Sería más rápido usar la finalización de la etiqueta?

Respuesta

6

Es bastante posible que este proceso tome algo de tiempo si está trabajando en proyectos con múltiples archivos fuente (vim necesita analizar todos los archivos fuente incluidos para encontrar más archivos fuente incluidos y construir la lista de palabras.) Usted podría usar la terminación de etiqueta, que usa la salida de ctags para hacer casi lo mismo, pero necesitaría ejecutar algunas pruebas para indicar la diferencia de velocidad.

personalmente utilizo completa finalización (<C-P> o <C-N> en el modo de inserción.) De manera predeterminada, que coincide con todos palabras todos tampones (incluso tampones que han sido descargadas, archivos es decir, que han sido cerradas), pero es realmente rápido Descubrí que la finalización funciona con bastante precisión, incluso si la activa después de 2-3 caracteres.

+1

No era de extrañar que me molestara el valor predeterminado ... Tenía un complemento que reasignaba C-N de completo a omni-completado. Esto es más o menos exactamente lo que necesitaba. – gravitation

Cuestiones relacionadas