2010-11-30 5 views
1

Я думаю, что vim действительно может это сделать. Я просто не знаю, как искать и заменять arround с помощью regex. Может ли кто-нибудь помочь мне в этом.Стриптиз комментариев в CSS с использованием VIM

Update
Благодаря Крис ниже за помощь вокруг этого одного. Вот карта.

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

(ответ на этот вопрос просто простирающийся ответ jball, оказав в синтаксисе Vim для него.)

+0

Спасибо mate: D Протестировано это в vim, используя карту test:% s @/\ * \ ([^ *] \ | [\ r \ n] \ | \ (\ * \ + \ ([^ */] \ | [\ r \ n] \) \) \) * \ * \ +/@@ g Это не сработало. Или я что-то упускаю. :) – 2010-11-30 03:55:15

1

Вот регулярное выражение (от Stephen Ostermiller), которые должны соответствовать стилю C (например, /* ... */ и, следовательно, CSS) комментариев:

Примечание: это, вероятно, потребуется адаптация к специфическим ароматом ВИМ о регулярных выражениях.

+0

Действительно проще является:. '/ \\ * \\ _ \ {-} \\ */`где`/`не является разделителем шаблонов. – Benoit 2010-11-30 07:32:30

Смежные вопросы