Как сохранить макрос, состоящий из множественного поиска, и заменить его на мой .vimrc - PullRequest
5 голосов
/ 16 июня 2010

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

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

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

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

Ответы [ 2 ]

10 голосов
/ 16 июня 2010

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

let @a=':%s/á/\á/g^M:%s/é/\é/g^M:%s/í/\í/g^M'

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

1 голос
/ 16 июня 2010

Хорошо. Я нашел решение, которое я пробовал с ^ M раньше, но с некоторыми пробелами в конце он не работал, правильный синтаксис для примера по вопросу:

let @r=':%s:á:\á:Ige^M:%s:é:\é:Ige^M:%s:í:\í:Ige^M'

Не забудьте последний ^ M, и для перезагрузки .vimrc необходим перезапуск vim.

...