4

ソース:

.foo { line-height: 150px; font-size: 24px; clear: both; }

ここのvimマジック、おそらく視覚選択ベースの何か

結果:

.foo { clear: both; font-size: 24px; line-height: 150px; }

vimの魔法の部分について何を提案しますか?

4

3 に答える 3

6
:s/\([{;]\)\s*/\1\r/g | '[+1,']sort | '[,']join

{またはで行を分割して、;各ルールを別々の行に分割:sortし(CSS定義を含む最初の行を省略)、それらを結合します。

于 2012-05-21T15:29:21.130 に答える
2

非常に簡単な答え:

:s/[{;] /\0\r
vi{
:!sort
va{
J
于 2012-05-21T15:30:29.237 に答える
1

別のワンライナー:

s/{\s*\zs.\{-}\ze\s*}/\=join(sort(split(submatch(0), '\s*;\s*')), '; ').';'

今回は、を使用sub-replace-\=し、操作関数(、、、)を一覧表示sort()しますsplit()join()

于 2012-05-21T17:03:58.207 に答える