将CSS规则转换为自定义属性Vim方式

时间:2018-03-03 13:26:09

标签: vim

我想将包含一组具有特定表单的CSS规则的CSS文件编辑到CSS自定义属性中。我想知道在Vim中进行此编辑的好(按键效率)方式。我对Vim有足够的了解来完成编辑,但为了掌握Vim,我希望看到一些更好的方法。

示例:

/* two existing rules */
.s-base03 {
    color: #002b36;
 }   
.s-base02 {
    color: #073642;
}

/* replace existing rules with two new custom properties */
--base03: #002b36;
--base02: #073642;

我假设有一个搜索和替换命令可以解决问题,但我不确定我是否知道如何在正则表达式中考虑多行,并且可能只有更好的办法。谢谢!

1 个答案:

答案 0 :(得分:2)

如果有很多这样的行,则以下替换就可以了。如果只有2行或3行,那么效果不会那么高。

:%s/^\.s-\([a-z0-9\-]\+\) {\n\s\+color: \(.\+\);\n}/\--\1: \2;/g

还要确保首先格式化/缩进代码以保持一致性。例如,第4行有额外的空格。