2011-09-29 10 views
20

Vorrei che mi aiuti a indentare i miei file xml come il mio codice C. Tuttavia, quando usoCome riconoscere XML XML

gg=G 

Imposta tutto a sinistra. Devo designare una sintassi? XML è riconosciuto come lingua?

risposta

24

Mettere

filetype plugin indent on 

nel vostro .vimrc per avere automaticamente Vim identificare i file XML come XML. Potrebbe essere necessario inserire

set nocompatible 

prima di quello.

Se l'estensione del file non è XML, è possibile rendere Vim minaccia che come XML utilizzando

:set filetype=xml 

Dopo aver fatto questo, autoindention di Vim (e l'evidenziazione della sintassi, e omnicomplete (che in XML appena si chiude tag, ma è ancora qualcosa)) funzionerà correttamente per xml.

+1

Esecuzione di Vim in modalità compatibile è come eseguire vecchio vi ... che è il tipo di modalità compatibile, ma è solo triste che questo è il default. –

+1

Se si sta modificando FXML in javaFX, il comando ': set filetype = xml' porta la beata colorazione della sintassi nel file. Dolce! – ncmathsadist

5

Sì, :set syntax=xml dovrebbe funzionare. In vim 7.3, questo imposta :set indentexpr=XmlIndentGet(v:lnum,1).

Se si dispone di un file a una riga, potrebbe essere necessario :%s/\(<[^>]*>\)/\1\r/g, inserire newlines dopo ogni tag (o dividerlo in modo diverso).

Quindi, gg=G dovrebbe funzionare.

+0

Sto lavorando con una versione piuttosto vecchia di Fedora Core :(bloccato con vim 7.2, quindi non lo faccio ottieni il rientro automatico – IslandCow

+0

@IslandCow Non penso che questo sia importante, devi solo ottenere 'indent/xml.vim' dal runtime di vim-7.3 se non hai la funzione' XmlIndentGet'. vim-7.3-specifico in questo file. – ZyX

+0

La sintassi XML sembra funzionare correttamente in 7.2 su Windows Come utente non dovresti preoccuparti dell'indentexpr, a patto che la sintassi sia s e giusto dovresti stare bene. (Anche se si potrebbe provare anche ': set filetype = xml'). –

0

aggiungere questa riga al vostro file .vimrc:

:map <Space>fx :%s/\ </\r</g<cr>:%s/\ android/\randroid/g<cr>:g/^$/d<cr>gg=G` 

al formato clicca space fx