Linting your code, the vanilla way
You may want a linter plugin to lint your code in Vim but you probably don't need it. At least try the built-in way before jumping on the plugin bandwagon.
autocmd FileType <filetype> setlocal makeprg=<external command>
This autocommand tells Vim to use
<external command> when invoking
:make % in a
<filetype> buffer. You can add as many similar lines as needed for other languages.
Automatic execution on
autocmd BufWritePost <pattern> silent make! <afile> | silent redraw!
This autocommand tells Vim to run
:make on the current file matching
<pattern> whenever you
:write it. You can add patterns if you want that to happen with other filetypes.
autocmd BufWritePost *.py,*.js silent make! <afile> | silent redraw!
Automatic opening of the quickfix window
This autocommand tells Vim to open the quickfix window whenever a quickfix command is executed (like
:make) AND there are valid errors to display.
autocmd QuickFixCmdPost [^l]* cwindow