2010-11-30 8 views
1

Ich denke, Vim kann das wirklich tun. Ich kenne mich einfach nicht aus und suche nach regex. Kann mir hier jemand helfen?Streifen Kommentare in CSS mit VIM

aktualisiert
Dank Chris unter mir ein, um dies zu helfen. Hier ist die Karte.

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

Antwort

3

:%[email protected]/\*\([^*]\|[\r\n]\|\(\*\+\([^*/]\|[\r\n]\)\)\)*\*\+/@@g wird aller CSS Kommentare loszuwerden (beachten Sie, dass @ anstatt / als Trennzeichen verwendet ist zu vermeiden, die \

Sie entkommen auch \v verwenden können, die „sehr Magie“ Flagge (lesen :help \v) und nicht die ()|+ Zeichen Magie machen müssen. :%[email protected]\v/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/@@g

(Diese Antwort jball Antwort nur erweitert, indem es in der Vim Syntax setzen.)

+0

Danke mate: D Getestet wurde dieses in vim mit map test:% s @/\ * \ ([^ *] \ | [\ r \ n] \ | \ (\ * \ + \ ([^ */] \ | [\ r \ n] \) \) \) * \ * \ +/@@ g Es hat nicht funktioniert. Oder ich vermisse etwas. :) –

+1

@ragingsmon du hast die beiden gemischt. Du musst entweder die erste, die allen Dingen entkommt, oder die zweite verwenden, die sie auf "sehr magisch" setzt. Wenn Sie dann 'map' verwenden, müssen Sie entkommen (wenn Sie nicht die' \ v'-Variante, Double Escape) verwenden, wird das '|' als '|' verwendet, um Befehle zu trennen (siehe ': help: bar') . –

+0

Danke Chris. Danke, dass du mich dazu gebracht hast, diese Art von Dingen zu lernen. Hier ist die Arbeit >> map rc:% s @ \ v/\ * ([^ *] \ | [\ r \ n] \ | (\ * + ([^ * /] \ | [\ r \ n]))) * \ * +/@@ g

1

Hier ist ein regulärer Ausdruck (von Stephen Ostermiller), die C-Stil entsprechen sollte (beispielsweise /* ... */ und damit CSS) Kommentare:

Hinweis: Dies wird wahrscheinlich eine Anpassung an VIM spezifischen Geschmack von regex muß.

+0

wirklich einfacher ist. '/ \\ * \\ _ \ {-} \\ */'wo'/'kein Mustertrennzeichen ist. – Benoit

Verwandte Themen