Quero executar um comando bash na gravação de um .less
arquivo, salvando-o e gerando o .css
arquivo correspondente com o mesmo nome e no mesmo diretório. Eu tenho o comando bash que gera o .css
arquivo.
Eu não estou acostumado ao vimscript, exceto para trabalhar com o vim e alterar algumas coisas no meu .vimrc
, por isso não tenho certeza de como fazer isso funcionar.
Resumindo:
- Como executo um comando bash
:w
? - Como obtenho o diretório de arquivo atual (vimscript ou bash)?
- Como obtenho o nome do arquivo atual (vimscript ou bash)?
Respostas:
Você pode usar comandos automáticos para executar coisas automaticamente quando certos eventos ocorrem. No seu caso, você pode fazer isso:
Esse comando automático é executado sempre que um buffer com um nome que termina em
.less
é gravado. O comando que está sendo executado é um comando bash e<afile>
é o nome do arquivo que está sendo gravado. Essencialmente, o!
comando permite executar comandos bash no vim.Tópicos de ajuda relevantes:
:help :autocmd
:help BufWritePost
:help :!
:help <afile>
NOTA
O Vim não atualiza automaticamente a tela quando um comando bash é executado. Consulte a resposta abaixo para obter informações sobre isso: Suprimir a saída de um autocomand do vim
fonte