Vim ищет и заменяет не жадные [дубликаты]

Я хочу не жадно сопоставлять весь контент между словами ABC и XYZ

ABC ....
...
... XYZ


ABC ...
...
...
...
XYZ

где ... представляет любые символы. Количество слов и строк между ABC и XYZ может быть 1 или больше.

Я пробовал использовать

:%s/ABC\(.*\)\n\(.*\n\)*\(.*\)XYZ//gc

\ (. * \ N) * заставляет vim жаловаться на использование памяти.

Как мне сделать это внутри vim, не заглядывая в Perl?


person Slayer    schedule 12.06.2015    source источник
comment
Вы ищете `:% s / ABC (_. \ {-}) XYZ // gc. See : h /_., :h / \ {-_ 3_: h perl-patterns`.   -  person Peter Rincker    schedule 13.06.2015
comment
Мне нравится эта версия: %s/ABC\zs\_.\{-}\zeXYZ//gc   -  person VanLaser    schedule 13.06.2015