ソース:
.foo { line-height: 150px; font-size: 24px; clear: both; }
ここのvimマジック、おそらく視覚選択ベースの何か
結果:
.foo { clear: both; font-size: 24px; line-height: 150px; }
vimの魔法の部分について何を提案しますか?
:s/\([{;]\)\s*/\1\r/g | '[+1,']sort | '[,']join
{
またはで行を分割して、;
各ルールを別々の行に分割:sort
し(CSS定義を含む最初の行を省略)、それらを結合します。
非常に簡単な答え:
:s/[{;] /\0\r
vi{
:!sort
va{
J
別のワンライナー:
s/{\s*\zs.\{-}\ze\s*}/\=join(sort(split(submatch(0), '\s*;\s*')), '; ').';'
今回は、を使用sub-replace-\=
し、操作関数(、、、)を一覧表示sort()
しますsplit()
。join()