Кто-нибудь знает, как правильно сохранять/повторно использовать макросы, записанные внутри редактора 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
.