Я знаю о команде :bufdo
и пытался объединить его с макросом, который я записал (@a
), чтобы добавить #include в правильное место каждого из файлов заголовков I ' d. Однако я не мог найти простой способ запуска макроса для каждого буфера. Есть ли способ выполнить макрос через ex-режим, что требуется :bufdo
? Или есть еще одна команда, которую мне не хватает?Запуск макроса во всех буферах в vim
ответ
Вы можете сделать это следующим образом:
:bufdo execute "normal @a" | write
Обычная команда запускает макрос, но его нужно запустить с помощью: выполнить, иначе символ канала будет интерпретироваться как символ нормального режима.
Единственная альтернатива, которую я мог бы придумать, заключалась в том, чтобы добавить макросы в :w
и :bn
, чтобы они автоматически сохраняли и перемещались в следующий буфер. Затем я мог запустить команду на других 52 буферах, набрав [email protected]
. Это сработало, но для меня это совсем другая концептуальная модель, чем :bufdo
, и я надеюсь, что кто-то еще укажет мне в сторону чего-то более похожего на :bufdo
.
Вы должны использовать normal
выполнить нормальный режим команд, такой макрос выполнения (@a
) в режиме командной:
:bufdo normal @a
Это будет работать только в том случае, если включен параметр «autowrite», иначе он остановится с ошибкой, когда попытается перейти во второй буфер, так как он будет отказываться от модифицированного буфера. –
@DaveKirby будет работать, если мы включим: w в наш макрос? – MeanEYE
@MeanEYE: Да, если вы закончите свой макрос с помощью ': w', это сработает. –
- 1. Как остановить запуск макроса Vim
- 2. Номера строк во всех буферах emacs
- 3. Запуск макроса Excel во всех файлах xls в папке
- 4. Как перейти к последнему месту редактирования во всех буферах в vim?
- 5. Запуск моего макроса на всех листах
- 6. Поиск слова в разных буферах редактора vim
- 7. Запуск/перехват всех нажатий клавиш в Vim
- 8. Запуск макроса в Excel
- 9. Запуск Hunspell во всех подкаталогах
- 10. Запуск макроса в фоновом режиме
- 11. Запуск макроса медленной формулы
- 12. IronPython - Запуск макроса Excel
- 13. Запуск макроса VBA в AutoCAD
- 14. Запуск макроса Excel из макроса получения макроса Outlook 1004
- 15. Выполнение команды keep-lines на всех открытых буферах в emacs
- 16. автоматический запуск макроса во все существующие и новые документы
- 17. Запуск пакетного сценария во всех подпапках (рекурсивно)
- 18. Занятие пользователя во всех приложениях Запуск приложения
- 19. Запуск макроса из Excel во время блокировки экрана
- 20. Есть ли способ для Vim использовать слова во всех открытых файлах в сеансе экрана для автозаполнения?
- 21. Открывать запуск макроса макроса Excel в строке темы Outlook
- 22. Запуск макроса изнутри Add-In
- 23. Запуск макроса при изменении ячейки
- 24. Запуск макроса Excel из SSIS
- 25. Запуск макроса vba как строки
- 26. Запуск макроса на выделение ячеек
- 27. Запуск макроса с выпадающим списком
- 28. Запуск макроса VBA из R
- 29. Запуск макроса после обновления данных
- 30. Запуск макроса через несколько файлов
взглянуть на http://stackoverflow.com/questions/1291962/replay-a-vim-macro-until-end-of-buffer EDIT: никогда не возражает это – gruntled
@gruntled: Спасибо за ссылку. Я пропустил это, потому что вопрос, похоже, не применим, но методы должны работать. Я проголосовал за закрытие этого. –