It's important to point out that rust-analyzer uses some bleeding edge features of the protocol, so sometimes certain things won't work as well in editors other than vscode. That being said, I believe the rust-analyzer author has indicated that he would fix that up to use more standard features if rust-analyzer becomes the officially recommended IDE backend.
The rust-analyzer docs show how to wire it up to VIM a few different ways: https://rust-analyzer.github.io/manual.html#installation