Fix vim invocation on Windows

Setting environment variables in the command string itself doesn't work on Windows, but `system` can accept those variables in a hash as it's first argument.
Also, I think this is probably the "more correct" way of setting them, not just simply trusting the shell to handle it.