web-dev-qa-db-ja.com

健全なデフォルトに従ってhtmlファイルを簡単に再タブ化するにはどうすればよいですか?

次のような、再タブ化したいHTMLファイルがいくつかあります。

<header>
    <div class="wrapper">
                    <img src="images/logo.png">
                    <div class="userbox">
                            <div class="welcome">Welcome Andy!</div>
                            <div class="blackbox">
                                    <ul>
                                            <li><a href="#">Invite Friends</a></li>
                                            <li><a href="#">My Account</a></li>
                                            <li><a href="#">Cart</a></li>
                                            <li><a href="#">Sign Out</a></li>
                                    </ul>
                            </div>
                    </div>
            </div>
</header>

そして、私は彼らに次のように見えるようにしたい:

<header>
  <div class="wrapper">
    <img src="images/logo.png">
    <div class="userbox">
      <div class="welcome">Welcome Andy!</div>
        <div class="blackbox">
          <ul>
            <li><a href="#">Invite Friends</a></li>
            <li><a href="#">My Account</a></li>
            <li><a href="#">Cart</a></li>
            <li><a href="#">Sign Out</a></li>
          </ul>
        </div>
    </div>
  </div>
</header>

またはいくつかの健全なデフォルト。現在のディレクトリ内のすべてのhtmlファイルについて、ubuntuのターミナルからこれを行う最も簡単な方法は何ですか?

7
James

vimで:

:set softtabstop=0
:set expandtab
:set smarttab
:set shiftwidth=2
gg=G
:retab

編集:説明:

  • 1〜3行目:正気のデフォルト
  • 行4:2つのスペースでインデント
  • 5行目:
    • gg:トップライン
    • =:インデントまで...
    • G:...終了
  • 6行目:すべてのタブがスペースに変換されるようにします
9
shellholic
Sudo apt-get install tidy
cd whatever_dir_you_want
find . -name '*.html' -exec tidy -m {} \;

注:これはおそらく、inline-phpでNiceを再生しません。 tidy-m引数なし)を試して、動作を確認します。

1
Oli

これらのタブは最初の例にあり、スペースは次の例にありますか?タブを2つのスペースに変更できるシェルスクリプトを次に示します。作業ディレクトリをHTMLファイルの場所に変更します。

#!/bin/sh
for i in *.html
do
    sed 's/\t/  /g' "${i}" > filename.notabs && mv filename.notabs "${i}"
done

更新

似たようなことをする必要がありました。 Komodo Edit のファイル内置換機能を使用しました。ファイルにGUIでアクセスできる場合は非常に便利です。

alt text

0
user8290