有一个css文件,我想做两件事:
1)删除所有webkit关键帧和周围的空格字符,如:
@keyframes outToLeft {
to {
opacity: 0;
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
}
2)删除所有webkit前缀属性和周围的空白字符,如:
-webkit-transform: translate3d(100%, 0, 0);
我尝试使用%s但它不起作用(也许我的构造不正确)
这样做的最佳方式是什么?
答案 0 :(得分:2)
解决方案是全局:g
命令。
对于你的第一部分,它看起来像这样:
:g/@^keyframes/norm d}
表示在匹配模式^@keyframes
的每一行上执行norm d}
norm
允许为块提供正常命令。 d}
删除整个块。
对于第二个例子,它更容易,我们可以使用带有:g
标志的d
命令:
:g/^-webkit/d
d
只是意味着删除。
既然你提到了空格,那么这些行应该是这样的:
:g/@^keyframes/norm d}dk
删除块之前和之后的行,或保留一行:
:g/@^keyframes/norm d}dd
第二个例子也是如此:
:g/^-webkit/norm dj
如果你想删除以下行。
答案 1 :(得分:1)
不可能,IdeaVim不支持全局g:命令。
有关更多信息和更新的状态,请参见https://youtrack.jetbrains.com/issue/VIM-831。
如果将其替换为空行是可以的,则可以执行类似:%s/.*-webkit.*//g