2010-11-30 80 views
1

我認爲vim可以真正做到這一點。我只是不知道我周圍的搜索方式,並使用正則表達式替換。任何人都可以幫助我解決這個問題。使用VIM在CSS中刪除評論

更新
感謝Chris幫助我解決這個問題。這是地圖。

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

回答

3

:%[email protected]/\*\([^*]\|[\r\n]\|\(\*\+\([^*/]\|[\r\n]\)\)\)*\*\+/@@g將擺脫所有的CSS評論(請注意,是一個使用@而不是/作爲分隔符,以避免逃避\

您還可以使用\v中,「非常神奇」標誌(讀:help \v),和不需要使()|+人物魔法::%[email protected]\v/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/@@g

(這個答案只是把在Vim的語法將其擴展jball的答案。)

+0

感謝隊友:D 在vim中使用map 測試過這個測試:%s @/\ * \([^ *] \ | [\ * \ + \([^ */] \ | [\ r \ n] \)\)\)* \ * \ +/@@ g 它沒有用。或者我錯過了一些東西。 :) – 2010-11-30 03:55:15

1

這裏是一個正則表達式(從Stephen Ostermiller)應該匹配C風格(例如,/* ... */因此CSS)的評論:

注:這可能需要適應VIM的正則表達式的特殊風味。

+0

真的簡單是:`/ \\ * \\ _ \ { - } \\ *。 /`其中`/`沒有模式分隔符。 – Benoit 2010-11-30 07:32:30