Просто хочу добавить другую особенность на ринг, потому что я нахожу ее совершенно уникальной. Регулярные выражения Vim имеют два атома нулевой ширины для обозначения начала (\zs
) и конца (\ze
) текста, который следует считать совпадением. Вы можете использовать их интересными способами, такими как:
:%s/-\zs\ze\d"/0/
, который говорит vim заменить текст между \zs
и \ze
(который здесь пустой) на 0
, если остальныесовпадений регулярного выражения.
В качестве альтернативы можно использовать только \ze
:
:%s/-\ze\d"/-0/
, который говорит vim заменить -
на -0
, когда за исходным -
следуетцифра и двойная кавычка.
См. :help \zs
и :help \ze
для получения дополнительной информации.