vimautocmd

How to automatically execute a shell command after saving a file in Vim?


This is because I'd like to automatically run tests after each file save.

I have looked at autocmd and BufWritePost but cannot make it work.


Solution

  • 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 *