2011-09-29 13 views
20

私はvimが私のCコードのように自分のxmlファイルをインデントするのを助けたいと思います。ただし、私が使用する場合vimにXMLを認識させる

gg=G 

すべてを左に設定するだけです。構文を指定する必要はありますか? XMLは言語として認識されていますか?

答えて

24

は、Vimは自動的にXMLとして.xmlファイルを識別するために持っているあなたの.vimrc

filetype plugin indent on 

を入れてください。それまでに

set nocompatible 

を入力する必要があります。

ファイル拡張子が.XMLされていない場合は、Vimのautoindentionは(と構文の強調表示、およびomnicompleteは(つまり、XMLでちょうど閉じ、ことを実行した後、あなたは

:set filetype=xml 

を使用して、XMLのようなVimの脅威にそれを作ることができますタグ、しかしそれでも何か))はxmlで正しく動作します。

+1

互換モードでVimを動かすのは、互換モードの一種である古いviを実行するのと同じですが、それがデフォルトです。 –

+1

javaFXでFXMLを編集している場合、 ':set filetype = xml'コマンドは、ファイルに祝福された構文の色付けを行います。甘い! – ncmathsadist

5

はい、:set syntax=xmlが動作するはずです。 vim 7.3では、これは:set indentexpr=XmlIndentGet(v:lnum,1)を設定します。

1行のファイルがある場合、すべてのタグの後に改行を挿入する(または別の方法で分割する)には、:%s/\(<[^>]*>\)/\1\r/gが必要な場合があります。

次に、gg=Gが有効です。

+0

をクリックしてフォーマットします自動インデントを取得する – IslandCow

+0

@IslandCowこれは重要ではないと思いますが、 'XmlIndentGet'機能がない場合、vim-7.3ランタイムから' indent/xml.vim'を取得するだけです。 vim-7.3はこのファイルに固有のものです – ZyX

+0

Windowsの7.2ではXML構文がうまく動作しているようですが、ユーザーはindentexprについて心配する必要はありません。あなたは大丈夫です。 –

0

あなたの.vimrcファイルに次の行を追加します。

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

を私はvimの7.2とFedora Coreののかなり古いバージョン:(スタックを実行しているので、私がいないspace fx

関連する問題