我想删除 CSS 文件中包含“颜色”一词的所有行。
这将包括:
body {background-color:#000;}
div {color:#fff;}
你将如何使用 :%s/ 命令来做到这一点?
我想删除 CSS 文件中包含“颜色”一词的所有行。
这将包括:
body {background-color:#000;}
div {color:#fff;}
你将如何使用 :%s/ 命令来做到这一点?
应该只是
:g/color/d
这是一个明智的想法吗?如果你的 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\)
标准防爆序列:
:/color/d
只是给你一个完全不同的答案:
:%!grep -v color
:)
这暗示了更大的功能。您可以应用您对 *nix 命令行过滤器的知识来编辑您的代码。想要按字母顺序排列的枚举列表吗?视觉选择,:!sort
就完成了。
您可以使用uniq
,tac
等。
这对我有用:
:%s/.*color.*\n//