Запуск фоновых задач из vim

20 Фев

При разработке проекта удобно всегда иметь актуальную документацию по методам. После добавления нового метода и сохранения файла приходится вручную запускать скрипт обновления документации.

У vim есть возможность выполнять команды по собственным событиям, но нельзя просто выполнять команды фоном без блокировки работы.

Вспомогательная прога

В Linux есть средство для организации взаимодействия между разными программами — D-Bus. Vim может с помощью dbus-send передавать сигналы во вспомогательную программу, которая в свою очередь и будет выполнять скрипт обновления документации.

Есть готовый пример на python-е для выполнения функций при получении сигнала, адаптируем его для выполнения внешних команд:

Запуск:

Эту команду можно разместить в автозапуске вашей среды рабочего стола

Теперь чтобы передать команду на выполнение воспользуемся программой dbus-send:

Настройка vim

Есть событие «BufWritePost», которое срабатывает при сохранении. Им и настрою обновление документации с помощью vim-скрипта специфичного для проекта:

Добавить комментарий