Сохранение макросов vim

Кто-нибудь знает, как правильно сохранять/повторно использовать макросы, записанные внутри редактора vim?

Ответ 1

Используйте q, за которым следует буква для записи макроса. Это просто входит в один из регистров копирования/вставки, поэтому вы можете вставлять его как обычно с помощью команд "xp или "xp в нормальном режиме.

Чтобы сохранить его, вы открываете .vimrc и вставляете содержимое, тогда регистр будет в следующий раз, когда вы запустите vim.
Формат выглядит примерно так:

let @q = 'macro contents'

Будьте осторожны с цитатами. Им нужно будет сбежать должным образом.

Итак, чтобы сохранить макрос, вы можете сделать:

  • Из нормального режима: qq
  • введите любые команды
  • Из нормального режима: q
  • открыть .vimrc
  • "qp, чтобы вставить макрос в строку let @q = '...'

Ответ 2

Напишите свои макросы внутри ~/.vimrc, чтобы определить макрос, запущенный CTRL + O, например, добавьте следующую строку в ваш ~/.vimrc:

map <C-O> MACROTEXT

когда вы записываете макрос, набрав qa, вы можете получить текст макроса, набрав "ap

Ответ 3

Для более надежного решения вы можете проверить Marvim.

Позволяет сохранять макрос в определенном пространстве имен (или использовать тип файла как пространство имен по умолчанию), и вы можете впоследствии искать сохраненные макросы и загружать их в регистр, готовый для использования.

Если вы повторно используете много макросов, это очень полезно.

Ответ 4

Команда :mkexrc (или :mkvimrc) может использоваться для сохранения всех текущих настроек :map и :set в файле. Подробнее см. :help mkexrc.