0

html コードの行があるとします。

<div><p><span>foo</span></p></div>

私はそれを次のようなものに変換したい

<div>
  <p>
    <span>foo</span>
  </p>
</div>

これを行うためのプラグインまたはネイティブ ソリューションはありますか?

4

3 に答える 3

3

tidyプログラム (またはその HTML5 兄弟)を使用します。

それがそのために設計されたものであり、正規表現が設計されていないものです。

于 2013-02-07T22:19:52.723 に答える
1

:%s/></>\r</gEnterggShift-vShift-g=Enter

:set ft=htmlまだ行っていない場合は必要になります)

上記を行うと、

<div>
    <p>
    <span>foo</span>
    </p>
</div>

残念ながら、VIM はほとんどのフロントエンド関連のインデント (html、javascript) でうまく機能しません。これは一般的な不満であり、vim のカスタマイズ可能なすべての機能にもかかわらず、おそらく適切な解決策はありません。

于 2013-02-08T00:31:34.557 に答える
1

Linux ボックスで作業している場合、通常xmllintは既にインストールされています。このコマンドを試してください:

:%!xmllint --format -

これにより、テキストが希望どおりに変更されます。しかし<?xml version="1.0"?>、最初にあります。それがあなたにとって大丈夫かどうかわかりません。

削除する場合は、コマンドを実行した後、カーソルが行にあるので、dd と入力して削除します。または、マッピングに書き込むことができます。

于 2013-02-07T22:19:43.817 に答える