Domanda

Il più delle volte la funzionalità di completamento automatico in VIM funziona bene per me, ma a volte sembra scansionare i file a cui i riferimenti del file corrente, e poi diventa dolorosamente lento, a volte prendendo diversi secondi per rilasciare focus su di me.

A volte Vim mi dice semplicemente che sta "scansionando" altre volte, sta dicendo "tag di scansione"

Ho solo questo accade nei file di Ruby e accade principalmente quando c'è un bisogno nel file.

La mia ipotesi sarebbe che questa sia una sorta di funzionalità che controlla i file correlati per le opzioni di completamento automatico, ma non ne ho davvero bisogno e preferirei un completamento automatico più veloce.

È stato utile?

Soluzione

Come ho detto in un commento, ho avuto lo stesso problema. Ecco cosa ho trovato;

C'è un'impostazione che dice a VIM dove cercare completamenti, chiamato complete.

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

Questo è il valore predefinito. Il mio problema è (in realtà era ..) "io", che scansiona tutti i file inclusi. Ecco due problemi, il primo, scoperta Tutti quei file potrebbero richiedere un po 'di tempo, specialmente se lo fai, come me,

:set path=**

Il secondo problema, una volta trovato, devono essere letti e se stai utilizzando un file system in rete (sono su ClearCase) sia la ricerca che la lettura di tutti quei file potrebbero attivare mancati la cache, rendendolo dolorosamente lento.

Ho rimosso l'io per ora, dato che ho un file tag e il più delle volte ho anche i file pertinenti nei miei buffer (caricati o scaricati) che verranno cercati a seguito di "b" e "u '.

Uso

set complete-=i

Per rimuovere l'I dall'elenco, si noti che questo è locale al buffer.

Altri suggerimenti

Aveva un problema molto simile dall'aggiornamento a VIM 7.3 (da 7.2): stavo usando il (eccellente) Plugin ACP E in file di origine più lunghi (C-Files, 1700 LOC), il popup ha impiegato anni per saltare attraverso i suggerimenti quando stavo modificando in fondo al file.

Usando il PerformanceValidator (da SoftwareSerify), Ho scoperto che alcuni metodi di piega sono stati chiamati ancora e ancora e portano a un carico di processore molto elevato e un completamento lento.

La mia soluzione alternativa era impostare il foldmethod (fdm) a manual. E questo lo ha risolto ...

Hai un file di tag per il progetto su cui stai lavorando? In caso contrario, proverne uno con ctag esuberanti e VIM dovrebbe raccoglierlo con il pluglin taglist.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top