Yep. I have formatters and linters run on save in vim (of course, any editor or IDE can handle this) and the linters render their results in vim, as well. I also use vim-dispatch [0] to handle running builds and test suites asynchronously, but I don't run any auto commands for that, instead preferring to kick those tasks off with a keystroke.
My workflow is crafted in a way to give me, what I have found to be, the tightest feedback loop that I can possibly get with the languages and frameworks and tooling that I use at work. I find that vim, out of every other editor or IDE that I've ever used, is set apart in it's ability to deliver on that requirement.
[0]: https://github.com/tpope/vim-dispatch