Vim - Тригерна дія \ скрипт на збереження \ запис?


14

Це може бути краще для суперкористувача, але я вважаю, що це інструмент торгівлі, тут це може бути кращою темою. Я часто під час редагування в vim виявляю, що я виходжу з нього, запускаю якийсь сценарій, який я тестую, а потім повертаюся у vim (так, я розумію, що можу використовувати:! Команду для запуску речей з vim) Мені просто цікаво, чи є спосіб підключити щось до запуску, коли файл збережено (: w)?

Відповіді:



19

Дивіться :he :autocmdі:he BufWritePost

Рядок виглядатиме так:

:autocmd BufWritePost /path/to/file/or/pattern !command <afile>

Якщо <afile>річ не працює, використовуйте %:p.


1

Я отримав частину "повернення до vim", але я не впевнений, як потрапити на команду ": w" (що було б дуже зручно, оскільки це для мене досить рефлексивно)

w | silent execute "! myscript" | redraw!

Я думаю, що це може бути краще і для суперпользователя.


1

Це кричуще саморекламування, але я написав плагін Vim, який призведе до запуску певних скриптів оболонки після конкретних autocmdподій Vim . Наприклад, названий сценарій .bufwritepost.vimhook.shзапускається (синхронно) щоразу, коли BufWritePostкоманда виконується. Потім ви можете легко включити будь-яку довільну логіку, яку ви хочете робити в рамках цього сценарію. Плагін передбачає конкретні умови іменування цих сценаріїв, а також підтримує "гакові" скрипти, які запускаються лише у файлах, що відповідають певним іменам або мають певні розширення. І звичайно, ви можете обирати будь-яку autocmdподію, яку хочете, хоча я вважаю, що BufWritePostвідповідає більшості моїх випадків використання.

Повна інформація: https://github.com/ahw/vim-hooks

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.