Какое регулярное выражение я могу использовать в Vim для поиска конфликтов CVS? - PullRequest
1 голос
/ 17 сентября 2009

Какое регулярное выражение я могу использовать в Vim для поиска конфликтов в CVS и, возможно, других системах контроля версий?

Ответы [ 2 ]

6 голосов
/ 18 сентября 2009

Вот регулярное выражение для поиска целых конфликтующих секций:

[<]\{7}.*\_.\{-}[=]\{7}\_.\{-}[>]\{7}.*

И чтобы найти это в vim, просто нажмите клавишу '/' и вставьте эту строку регулярного выражения, затем нажмите enter.

Обычно конфликты CVS выглядят так:

<<<<<<< file.c
Code from file.c
=======
Code from the repository version 1.2
>>>>>>> 1.2

Команда поиска и замены Vim для сохранения локальной версии:

:%s/[<]\{7}.*\n\(\_.\{-}\)[=]\{7}\_.\{-}[>]\{7}.*\n/\1/g

Команда поиска и замены Vim для хранения хранилища версия:

:%s/[<]\{7}.*\_.\{-}[=]\{7}\n\(\_.\{-}\)[>]\{7}.*\n/\1/g
3 голосов
/ 21 сентября 2009

Я обычно просто делаю /<<< и нажимаю 'n', пока не найду больше совпадений. Это гораздо менее сложный подход, чем у Нейла, но он работает для меня:)

...