2014-12-01 10 views
9

Quando si lavora su un server remoto con tempi di ping piuttosto grandi, l'evidenziazione della sintassi diventa improvvisamente apparentemente casuale. Quando ciò accade, sembra che questo:vim interrompe in modo casuale l'evidenziazione della sintassi

enter image description here

L'evidenziazione della sintassi è bene finchè la linea 24, dopo che tutto è grigio. Posso sistemarlo scorrendo a caso o chiudo il vim aperto. Ma non posso né riprodurre il problema, né riprodurre la correzione.

Ciò non accade quando lavoro con esattamente la stessa versione di vim e esattamente lo stesso .vimrc. Quindi sospetto che ci sia qualcosa di sbagliato sul server. Soprattutto sospetto che il problema potrebbe sorgere a causa dei lunghi tempi di ping (~ 170 ms).

Qualcuno ha visto un comportamento simile?

+0

Vuol premendo '' fissarlo quando succede? – Zach

+1

Purtroppo no. – pfnuesel

+1

Ho lo stesso comportamento con i file locali, se sono grandi. – GenericJon

risposta

17

Ho avuto questo comportamento occasionalmente, ma ho sempre lasciato che fosse, in quanto mi ha colpito solo durante la modifica di file molto grandi.

Tuttavia, ora che ne hai parlato sono andato a cercare una soluzione. Ho trovato questa pagina: http://vim.wikia.com/wiki/Fix_syntax_highlighting, che ha il seguente comando:

:syntax sync fromstart 

Esecuzione che risolve per me, anche se ci vuole un po 'per completare.

Edit: Seguendo il suggerimento di quella pagina di utilizzare minlines argomento, ho scoperto che ho evidenziazione istantanea e di solito-corretta esecuzione di questo comando invece:

:syntax sync minlines=20 

Ma ovviamente si può giocare con la Valorizza la velocità e la precisione del trade-off secondo i tuoi gusti.

+0

Nessuno di questi comandi lo aggiusta per me. Sembra che abbia un altro problema? – pfnuesel

+0

Ho avuto problemi simili su vim locale diverse volte, tutti con file relativamente grandi. Scorrevo su/giù alcune volte, a volte piegavo/spiegavo tutte le pieghe per correggerlo. E il 'syntax sync minlines = 20' sembra funzionare per me. – Jason

1

Non sono sicuro che questa sia una soluzione, non sono stato in grado di trovare altre occorrenze di questo caso. Ricordo di aver visto qualcosa del genere una volta, ma non so come replicare. Sospetto che non sia la connessione, ma qualcosa in vim. Mi manca l'inizio del file per essere in grado di replicare correttamente.

Ma si può provare diverse opzioni, come:

:syntax sync ccomment 

questo è se l'inizio del file è in una c-commento o qualcosa; Non sono sicuro se o come ciò si applica al tuo caso; in entrambi i casi, controlla i documenti se c'è qualcosa di utile per te: http://vimdoc.sourceforge.net/htmldoc/syntax.html#:syn-sync

Problemi correlati