Vim - Acionador de ação \ script em salvar / escrever?

10

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)?

    
por Joshua Enfield 06.07.2010 / 18:16

4 respostas

4

Você pode encontrar incron interessante se estiver usando o Linux .

    
por 06.07.2010 / 20:43
14

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 .

    
por 18.11.2011 / 16:08
1

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.

    
por 17.07.2010 / 08:31
1

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

    
por 14.10.2014 / 20:28