Come creare un file con estensione .PT, con la sintassi XML evidenziazione e pt.snippets carico plug snipmate di vim?

StackOverflow https://stackoverflow.com/questions/2999980

Domanda

Ho il seguente nel mio .vimrc:

au BufNewFile,BufRead *.pt set filetype=xml

Questo è necessario perché anche se sto modificando un file con estensione *.pt, è effettivamente un file XML valido:. Impostazione del tipo di file in questo modo posso avere l'evidenziazione della sintassi

di vim snipmate plug , e ha cercato di creare pt.snippets alle esigenze specifiche dal momento che questi file sono Zope Page Templates (ZPT con TAL).

Ora, ho un problema: io non voglio creare questi frammenti in xml.snippets, dal momento che non sono snippet XML molto generici, ma i miei file *.pt sono impostati a XML, in modo che quando definisco i miei frammenti pt essi non vengono caricati se non corro :set filetype=pt sul mio file pt su vim -. ma poi ho perso l'evidenziazione della sintassi

Mi piacerebbe essere in grado di avere un file pt, con evidenziazione della sintassi XML, per essere in grado di caricare un file pt.snippets da snipmate. Come posso fare?

(vorrei evitare di mettere i miei frammenti in un file frammento di generica, vorrei che fosse presente solo in pt.snippets per essere più facile da mantenere.)

È stato utile?

Soluzione

Snipmate permette tratteggiata 'filetype' la sintassi, provare:

au BufNewFile, BufRead * .pt set filetype = xml.pt

Altri suggerimenti

la sintassi è notoriamente finnicky per non voler sostenere due tipi di file simultanei (in realtà, qualcuno ha chiesto questa stessa domanda ieri)

au BufRead *.pt set filetype=xml.pt
au BufNewFile *.pt set filetype=xml.pt

La risposta di jinfield è in realtà spot-on, ma ho avuto la virgola-sintassi di fallire su alcune versioni di vim

Che ne dite:?

autocmd BufNewFile,BufRead *.pt setlocal filetype=pt
autocmd BufNewFile,BufRead *.pt setlocal syntax=xml
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top