Colore di sfondo diverso per più tipi di file in vim


10

È possibile avere diversi colori di sfondo in vim (es. Una luce, una scura) quando si tratta di file con più tipi di file (es. :set ft=html.php)? Nel codice PHP con HTML incorporato, può essere difficile vedere una singola istruzione PHP tra dozzine di righe HTML, vedi sotto. Mi accontenterò di qualsiasi cosa, che si tratti di un diverso colore bg, un marcatore nel margine, un secondo margine sinistro (un plugin vim lo fa per i segni), magari evidenziando il <?phptag per esempio (anche se è meno che ideale)

PHP in codice HTML

EDIT: Non penso che ciò sia possibile a livello di sintassi poiché la sintassi sembra usare un numero limitato di elementi (String, Function, Identifier ...). Questo non è dubbio per consentire una facile integrazione con i colori. SyntaxAttr è un buon plugin per dimostrarlo. Inseriscilo su qualsiasi parte del codice e ti dirà a quale gruppo di sintassi appartiene.


Forse potresti usare la stessa soluzione di questo post stackoverflow.com/questions/4167425/… dove creano uno schema di colori personalizzato che evidenzia qualsiasi stringa che inizia con sql_.

1
Vedrò se riesco a farlo rilevare le regioni tra ?>e <?come non PHP.
puk

Risposte:


1

Un'altra potenziale soluzione è quella di personalizzare il file dei colori preferito per verificare l'impostazione di "sfondo". Molti impostano l'impostazione dello "sfondo" in un modo o nell'altro, ma possono essere controllati per cambiare i colori di evidenziazione.

Esempio di colori


" Search
if &background=="dark"
  hi IncSearch    gui=UNDERLINE guifg= ctermfg=
else " background is light
  hi IncSearch    gui=UNDERLINE guifg= ctermfg=
fi


C'è un modo per controllare la lingua di una parola / carattere? cioè se si tratta di HTML v PHP?
puk

Una specie di dipende. È possibile controllare il tipo di illuminazione per una determinata parola. E se è distinguibile tra HTML e PHP, lo sapresti. Ma penso che sia il migliore che otterrai senza molto lavoro extra. Utilizzare qualcosa di simile al seguente per ottenere il tipo di evidenziazione:: echo synIDattr (synID (line ("."), Col ("."), 1), "name")
pottsdl
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.