Domanda

Qualcun altro ha trovato l'evidenziazione della sintassi di VIM di Javascript non ottimale?Sto scoprendo che a volte ho bisogno di scorrere per regolare l'evidenziazione della sintassi, poiché a volte elimina misteriosamente tutta l'evidenziazione.

Esistono soluzioni alternative o modi per risolvere questo problema?Sto usando vim 7.1.

È stato utile?

Soluzione

Ti potrebbe piacere provare questo evidenziatore della sintassi Javascript migliorato piuttosto che quello fornito con VIMRUNTIME.

Altri suggerimenti

Bene, ho modificato Sintassi Javascript di Yi Zhao, e aggiunto il supporto per le parole chiave Ajax, evidenzia anche i metodi DOM e altri.

Eccolo, è lungi dall'essere perfetto dato che sono ancora nuovo a Vim, ma finora ha funzionato per me. La mia sintassi Javascript.Se puoi risolvere il problema, aggiungere funzionalità, fallo.

AGGIORNAMENTO: Ho dimenticato che questi punti salienti della sintassi vengono mostrati solo se li hai inclusi nel tuo schema di colori, come ho fatto nel mio Nazca combinazione di colori.Proverò se posso aggiungere queste righe nel mio file di sintassi modificato.

Segui la nuova versione del file di sintassi javascript in github, poiché non è più necessario modificare lo schema di colori attuale.

La sincronizzazione della colorazione della sintassi probabilmente necessita di modifiche.Ho scoperto che in certi contesti ho bisogno di cambiarlo.

La sincronizzazione della sintassi (":help syn-sync") controlla il modo in cui Vim tiene traccia e aggiorna l'analisi del codice per la colorazione, in modo che possa iniziare a disegnare ovunque nel file.

Le impostazioni predefinite non sempre funzionano per me, quindi a volte mi ritrovo a emettere

:syn sync fromstart

Suggerisco di leggere la documentazione di seguito

:help syn-sync

o semplicemente controlla

:help syntax

e trova la sezione sulla sincronizzazione.

prendere una decisione informata tra le quattro opzioni di base disponibili.Mantengo le mappature sui tasti funzione per alternare tra le modalità "fromstart" e "ccomment" e semplicemente per cancellare le impostazioni di sincronizzazione.

Questo è un post davvero vecchio, ma stavo vivendo la stessa cosa:a volte l'evidenziazione della sintassi smetteva di funzionare quando si guarda la sezione javascript in un file .html file.Come menzionato dall'OP, una soluzione rapida era scorrere verso l'alto e quindi magicamente le cose avrebbero ricominciato a essere evidenziate.

Oggi ho trovato il problema di fondo e una buona soluzione.In Vim, l'evidenziazione della sintassi utilizza un contesto per derivare l'evidenziazione corretta, dove il contesto è definito dalle righe precedenti.È possibile specificare quante righe prima di quella corrente vengono utilizzate tramite emissione :syntax sync minlines=200.In questo caso, utilizzerà fino a 200 righe precedenti come contesto.È possibile utilizzare l'intero file (il che può essere lento per i file lunghi) eseguendo :syntax sync fromstart.

Una volta trovato questo, ho aggiunto questa riga al mio file .vimrc:

autocmd BufEnter *.html :syntax sync fromstart

Facendo così, .html useranno l'intero file come contesto.Pertanto, la sezione JavaScript verrà sempre evidenziata correttamente, indipendentemente dalla lunghezza della sezione JS.Spero che questo aiuti qualcun altro là fuori!

Per una soluzione rapida e sporca, a volte basta scorrere su e giù e l'evidenziazione si riadatta. Ctrl+l per un ridisegno dello schermo puoi anche risolverlo.

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