Pregunta

La mayoría de las veces la función de autocompletar en VIM funciona bien para mí, pero a veces parece ser archivos de escaneo que el archivo actual hace referencia, y luego se vuelve dolorosamente lento, a veces tarda varios segundos en liberarme el enfoque.

A veces, Vim me dice simplemente que está "escaneando" otras veces, está diciendo "etiquetas de escaneo"

Solo esto sucede en los archivos Ruby, y sucede principalmente cuando hay un requerimiento en el archivo.

Supongo que este es algún tipo de característica que verifica los archivos relacionados para opciones de autocompletar, pero realmente no necesito eso, y preferiría un autocompleto más rápido.

¿Fue útil?

Solución

Como mencioné en un comentario, tuve el mismo problema. Esto es lo que encontré;

Hay un entorno que le dice a Vim dónde buscar finalizaciones, llamadas complete.

:set complete
complete=.,w,b,u,t,i

Este es el valor predeterminado. Mi problema es (en realidad ...) el 'I', que escanea todos los archivos incluidos. Aquí hay dos problemas, primero, hallazgo Todos esos archivos pueden llevar bastante tiempo, especialmente si usted, como yo, tiene

:set path=**

Segundo problema, una vez encontrado, deben leerse, y si está utilizando un sistema de archivos en red (estoy en ClearCase), tanto encontrar y leer todos esos archivos podrían activar las fallas de caché, haciéndolo dolorosamente lento.

He eliminado el I por ahora, ya que tengo un archivo de etiquetas y la mayoría de las veces, también tengo los archivos relevantes en mis buffers (cargados o descargados) que se buscarán como resultado de 'B' y 'U '.

Usar

set complete-=i

Para eliminar la I de la lista, tenga en cuenta que esto es local para el búfer.

Otros consejos

Tuve un problema muy similar desde que se actualizó a VIM 7.3 (desde 7.2): estaba usando el (excelente) Complemento ACP Y en archivos de origen más largos (cilateros C, 1700 LOC), la ventana emergente tomó años para saltar a través de las sugerencias cuando estaba editando cerca de la parte inferior del archivo.

Utilizando el Rendimiento Validator (de Softwareverificar), Descubrí que se llamaban una y otra vez algunos métodos de pliegue y conducían a una carga de procesador muy alta y una finalización lenta.

Mi solución fue establecer el foldmethod (fdm) a manual. Y esto lo resolvió ...

¿Tiene un archivo de etiquetas para el proyecto en el que está trabajando? Si no, intente generar uno con CTAGS exuberantes y VIM debe recogerlo con el taglist pluglin.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top