У меня длинный текст, где некоторые строки нужно повторить позже.
Я поместил теги, подобные этому, в тексте:
{F1}text need to be repeated later{/F1}
, чтобы я мог добавить несколько {F1}{/F1}
к более поздним разделам и поместить содержимое первой строки между ними.
Проблема в том, что таких тегов будет много, например {F2}{/F2}
и т. Д., И этот шаблон также соответствует всем этим:
{\(.*\)}.*{\/\1}
Итак, я хочу искать каждое первое вхождение различных тегов и заменять их на более поздних строках, поэтому, когда я изменяю первую строку и снова делаю замену, все строки будут обновляться, возможно, автоматически с autocmd BufWrite
.
Как я мог это сделать? Я принимаю любое решение, не обязательно используя мою идею пометить первые строки тегами {}{/}
. Будет много тегов, и я не хочу делать это один за другим с отдельными командами замены.
Я пытался с этим:
:g/{\(.*\)}\(.*\){\/\1}/s/{\1}.*{\/\1}/{\1}\2{\/\1}/
но там написано:
E65 Illegal back reference.