6

そのため、CSS の emacs の自動インデントは私を悩ませています。私が好きな CSS は次のようになります。

#foo ul.bar {
    ....
}

    #foo ul.bar li {
        ....
    }

        #foo ul.bar li a {
            ....
        }

これは、自動インデントで emacs が提供するものです。

#foo ul.bar {
    ....
}

#foo ul.bar li {
    ....
}

#foo ul.bar li a {
    ....
}

カスケードを使用する場合、スタイルを段階的にインデントしたままにするのが好きです。ただし、emacs はすべてを同じレベルに自動インデントします。

私にできることはありますか?

4

4 に答える 4

3

私が Emacs で使用した CSS モードのいずれも、すぐに使用できるインデントのスタイルをサポートするとは思いません。何かがセレクターであるかどうかにかかわらず、セレクターの内容を調べません。 (インデントしない) またはセレクター内のルール (1 段階インデント) です。

これを変更したい場合は、CSS モードのインデントを行う関数をオーバーライドする必要があります。

于 2009-08-06T02:44:01.713 に答える
3

「Sass」を使用して CSS のコンパイルを開始することをお勧めします —.scssファイルは CSS のように見えますが、例で切望しているように正確にルールをネストすることができ、非常にきれいな出力が生成されます。手作業で作成された CSS のようなものです。つまり、まず、CSS は引き続き理解できます。次に、Sass をやめたいと思ったら、ファイルを削除して、その時点から.scssファイルを編集することができます。.css

Emacs は中括弧の数を数え、それに応じてインデントするという通常の規則に従うだけなので、Emacs はすでに Sass を完全にインデントしています。上記のソース コードを Sass に変換すると、次のようになります。

#foo ul.bar {
    ...

    li {
        ...

        a {
            ...
        }
    }
}

明らかに、これにより繰り返しがなくなり、CSS の読み取りと保守が容易になります。Sass プロジェクトはhttp://sass-lang.com/にあります。

于 2010-09-11T16:21:09.060 に答える
1

私はこれがハックであることを知っていますが、javaモードがcssで多かれ少なかれうまく機能するのを見てきました。

于 2013-03-22T12:14:50.747 に答える