How to automatically execute a shell command after saving a file in Vim?
This is because I'd like to automatica开发者_开发知识库lly run tests after each file save.
I have looked at autocmd
and BufWritePost
but cannot make it work.
This runs run_tests.sh
after any file is saved, with the current filename as the only parameter:
:autocmd BufWritePost * !run_tests.sh <afile>
View the auto-command with:
:autocmd BufWritePost *
And remove all auto-commands from the previous with:
:autocmd! BufWritePost *
put this into your .vimrc
file:
(take raml2html doc/api.raml > public/api_doc.html
as a command example)
autocmd BufWritePost,FileWritePost *.raml silent! !raml2html doc/api.raml > public/api_doc.html
notice:
silent!
will hide all the output of this command:silent
if you are using vim7.3-, andsilent!
if using vim7.3+- need to quit and restart vim, to make
.vimrc
take effect.
精彩评论