Как я сохраняю макрос, состоящий из нескольких, ищут и заменяют в мой .vimrc

У меня есть макрос, который я использую для замены специальных символов для его объектов HTML. Я хотел бы сохранить его в своем .vimrc.

Согласно этому, я должен использовать, позволяют @r =' macro_text_goes_here '. Проблема состоит в том, что мой макрос является рядом поиска и замены, чего-то вроде этого:

:%s:á:\á:Ige
:%s:é:\é:Ige
:%s:í:\í:Ige

Так, я попробовал ^V-enter, <войдите>, использование реальных разрывов строки, но это никогда не работает. С другой стороны, если я поместил текст на регистр и затем выполнил макрос, он работает как ожидалось.

5
задан Doppelganger 16 June 2010 в 15:36
поделиться

2 ответа

добавление этого в .vimrc работает для меня

let @a=':%s/á/\&aacute;/g^M:%s/é/\&eacute;/g^M:%s/í/\&iacute;/g^M'

обратите внимание, что ^ M - это специальный символ, вводимый с помощью Ctrl + V , Ctrl + ] M .

10
ответ дан 13 December 2019 в 19:21
поделиться

Хорошо, я нашел решение, я пробовал с ^ M раньше, но из-за некоторых конечных пробелов это не сработало, правильный синтаксис для примера по вопросу:

let @r=':%s:á:\&aacute;:Ige^M:%s:é:\&eacute;:Ige^M:%s:í:\&iacute;:Ige^M'

Дон ' Я забыл о последнем ^ M и о том, что для перезагрузки .vimrc требуется перезапуск vim.

1
ответ дан 13 December 2019 в 19:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: