使用VIM在CSS中删除注释

时间:2010-11-30 03:06:49

标签: vim

我认为vim真的可以做到这一点。我只是不知道我的方式搜索和替换使用正则表达式。任何人都可以帮助我解决这个问题。

更新
感谢Chris在下面帮助我解决这个问题。这是地图。

map <leader>rc :%s@\v/\*([^*]\|[\r\n]\|(\*+([^*/]\|[\r\n])))*\*+/@@g<cr>

2 个答案:

答案 0 :(得分:3)

:%s@/\*\([^*]\|[\r\n]\|\(\*\+\([^*/]\|[\r\n]\)\)\)*\*\+/@@g将删除所有CSS评论(请注意,使用@而不是/作为分隔符,以避免转义\

您还可以使用\v,“非常神奇”的标记(阅读:help \v),而不需要将()|+字符设为魔术::%s@\v/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/@@g

(这个答案只是通过为它添加Vim语法来扩展jball的答案。)

答案 1 :(得分:1)

这是一个正则表达式(来自Stephen Ostermiller),应该匹配C样式(例如,/* ... */,因此CSS)评论:

/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/

注意:这可能需要适应VIM特有的正则表达式。