我想删除CSS文件中包含“color”一词的所有行。
这包括:
body {background-color:#000;}
div {color:#fff;}
你会怎样使用:%s / command?
答案 0 :(得分:12)
应该只是
:g/color/d
答案 1 :(得分:5)
这是一个明智的想法吗?如果你的CSS有这样的部分
,你最终可能会做一些你不想要的事情body {background-color: #000;
font-size: large;
}
p {
color: #fff; float: left;
}
最好只删除包含颜色的属性
s/\(\w\|-\)*color\w*\s*:.\{-}\(;\|$\)//
<强>更新强>
正如too_much_php指出的那样,正则表达式并没有完全奏效。我修好了,但它需要vim。伪造只去除vi中的问题属性的正则表达式是不可行的。因为没有字符类,所以你必须做一些事情,比如将\ w替换为\(a\|b\|c\|d\|....\Z\)
答案 2 :(得分:2)
标准前序列:
:/color/d
答案 3 :(得分:2)
只是为了给你一个完全不同的答案:
:%!grep -v color
:)
这暗示了更多的功能;您可以应用* nix命令行过滤器的知识来编辑代码。想要按字母顺序排序的枚举列表?视觉选择,:!sort
已完成。
您可以使用uniq
,tac
等等。
答案 4 :(得分:1)
我不确定这是否适用于vi,但它适用于vim:
:g/color/d
有关详细信息,请参阅:help global
。
答案 5 :(得分:0)
这对我有用:
:%s/.*color.*\n//