По моему опыту, подобные вещи чаще всего возникают во время редактирования, и вы могли бы выделить \textcolor{green}{
уже выделенным.
В таком сценарии :global
обычно является моим любимым оружием:
:g//norm d%diBvaBp
diBvaBp: diB (удалить внутренний блок), vaB (выбрать блок), p (поставить)
Если у вас естьУстановленный surround.vim (рекомендуем!) вы можете удалить пару фигурных скобок, просто набрав dsB
(удалить окружающий {})
:g//norm d%dsB
Конечно, вы можете объединить это как
:g/\\textcolor{green}{/norm d%dsB
Я только что заметил потенциальную проблему, когда целевые шаблоны не начинаются в начале строки.Самый простой способ обойти это
:g//norm nNd%diBvaBp
Более сложным способом (возможно, менее эффективным) будет использование макроса:
/\\textcolor{green}{
gg
qqd%diBvaBpnq
, за которым следует что-то вроде 100@q
, чтобы повторитьмакрос