Сохранить макрос, только что созданный в vimrc

14

Иногда я создаю макросы. Иногда я создаю один и тот же макрос несколько раз.

Иногда я устаю снова создавать один и тот же макрос. Могу ли я хранить макросы? Могу ли я загрузить предустановку макросов? Могу ли я сделать макрос и сохранить его навсегда?

sensorario
источник

Ответы:

17

Да, ты можешь! Есть несколько способов сделать это. По умолчанию все регистры будут сохранены в вашем файле viminfo и загружены после запуска vim. Это самый простой способ. Тем не менее, это не надежно. Каждый регистр будет потерян, если вы случайно запишите / дергаете его.

Лучший способ сохранить определенный макрос - поместить его в свой .vimrc. Например, допустим, вы хотите fooсохранить в макрос a. Это может быть достигнуто с помощью:

let @a='foo'

в вашем vimrc. Если у вас уже есть макросы, вы можете набрать

ilet @a='<C-r><C-r>a'<esc>

вставить текущее содержимое макроса, если вы не хотите вводить его снова.


Спасибо Эндрю Китону за указание <C-r><C-r>

Джеймс
источник
Вы, вероятно, захотите использовать <C-r><C-r>(два вместо одного), чтобы вставить текст буквально
Эндрю Китон
1
@AndrewKeeton Ооо, большое улучшение. Спасибо, что
Джеймс
<c-r><c-r>не будет работать, если ваш макрос содержит специальную последовательность клавиш, например <c-right>, "apне имеет этой проблемы.
Dedowsdi