我认为vim真的可以做到这一点。我只是不知道我的方式搜索和替换使用正则表达式。任何人都可以帮助我解决这个问题。
更新
感谢Chris在下面帮助我解决这个问题。这是地图。
map <leader>rc :%s@\v/\*([^*]\|[\r\n]\|(\*+([^*/]\|[\r\n])))*\*+/@@g<cr>
答案 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特有的正则表达式。