Você pode encontrar incron
interessante se estiver usando o Linux .
Isso pode ser melhor para o superusuário, mas eu acho que, como uma ferramenta do comércio, pode ser um tópico melhor por aqui. Eu acho muitas vezes ao editar no vim que eu saio, executo algum script que estou testando, e então volto para o vim (sim eu percebo que eu posso usar:! Comando para executar coisas do vim) Eu só estava me perguntando se existe maneira de ligar algo para ser executado quando o arquivo é salvo (: w)?
Você pode encontrar incron
interessante se estiver usando o Linux .
Veja :he :autocmd
e :he BufWritePost
A linha seria assim:
:autocmd BufWritePost /path/to/file/or/pattern !command <afile>
Se a coisa <afile>
não funcionar, use %:p
.
Eu tenho a parte de "voltar ao vim", mas não tenho certeza de como acertar o comando ": w" (o que seria muito útil, já que isso é bem reflexivo para mim)
w | silent execute "! myscript" | redraw!
Eu acho que pode ser melhor para o superusuário também.
Isso é uma autopromoção descarada, mas eu escrevi um plugin Vim que acionará certos scripts de shell para serem executados após eventos Vim autocmd
específicos. Por exemplo, um script chamado .bufwritepost.vimhook.sh
seria executado (de forma síncrona) sempre que o comando BufWritePost
fosse disparado. Você poderia então incluir facilmente qualquer lógica arbitrária que você queira para fazer coisas dentro desse script. O plug-in assume convenções de nomenclatura específicas desses scripts e também suporta scripts "hook" que são acionados apenas em arquivos que correspondem a determinados nomes ou que possuem determinadas extensões. E, claro, você está livre para escolher qualquer evento autocmd
que desejar, embora eu tenha encontrado BufWritePost
para a maioria dos meus casos de uso.
Detalhes completos: link