Gonna be that asshole who suggests neovim. Same deal with the insane plugin community but we have more control and can do more stupid (and useful) shit.
I've been using it for laravel development for years (though with blade mainly) along with, on seperate repos, react and react native. The tailwind language server works well too
On the running commands on save yeah you can either use hooks or just overload the :w command to do whatever you want. If you take the later route, anything after a ! In command mode runs as a command in your default shell (non-interactive mode)
It'll take some time to build out something to the level of vscode yourself but it's been very worth it for me. I feel like the editor is an extension of myself. Yeah, ok, that sentence felt like a bit too much dick sucking even to me. Seriously though it may seem simplistic at first but with the right plugin setup I've yet to find anything I miss from vscode and I was an absolute unit of a power user on that thing.
Glad you're able to adjust to a new workflow too because you'll need to be if you take the plunge.
Anyway, hope you find something even if you don't pick neovim. Just don't pick Emacs or I swear to god I will cry