У меня есть длинный текст, в котором некоторые строки нужно повторить позже.
В тексте ставлю такие теги:
{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.