AsyncCommand requires vim to be compiled with clientserver, which may or may not require a new compilation, and definitely will for those of us running Cygwin (after installing Cygwin/X).
An alternative that worked right away for me was the dispatch plugin, which provides the
Start! command. I have the following in my vimrc:
map <leader>lr :w<CR>:Start! latexmk -pdf -pdflatex="pdflatex --shell-escape \%O \%S" % && latexmk -c %<CR>
This allows me to skip manually writing the file before compilation, and also cleans up after compilation (the
latexmk -c command). A simpler variant would be
map <leader>lr :Start! latexmk -pdf % <CR>