What does HackerNews think of vim-lsp?
async language server protocol plugin for vim and neovim
Because yeah, vim won't beat IntelliJ, but you can get it to be pretty decent with LSP:
Kudos on the people who have ported this to Vim[2], but I suspect the support for LSP features will still be better in VS Code
Vim/Neovim has had LSP support for some time with plugins and now built in natively.
I use COC vim as it's the fastest to get started and I rarely have to do much config as it's based on VSCode and comes with sane bindings for go-to-def, refactoring and more. https://github.com/neoclide/coc.nvim https://github.com/prabirshrestha/vim-lsp https://github.com/neovim/nvim-lspconfig
You can try to use either of these implementations: https://github.com/juliosueiras/terraform-lsp https://github.com/hashicorp/terraform-ls
These are both fairly limited but you can see every editor (except intellij) uses this under the hood.
I've used them at companies with 300+ terraform repos and have never had much of an issue navigating/understanding TF through Vim.
Neovim is also going to add native LSP support as well as tree-sitter in their 5.0 release, it's already available in nightly builds.
The most straightforward option is probably coc.nvim, which tries to give a similar experience to VS Code out of the box.
https://github.com/neoclide/coc.nvim https://github.com/prabirshrestha/vim-lsp https://github.com/neovim/nvim-lspconfig https://github.com/neovim/neovim
https://github.com/eclipse/eclipse.jdt.ls
https://github.com/georgewfraser/java-language-server
Are both good examples. You'll need a corresponding client like this one
https://github.com/prabirshrestha/vim-lsp
There are others, but this one is pretty good. Next release of Neovim will have one built into the editor. Frankly, it's a bit of a hassle but once you get an LSP provider set up you can get one for just about any language you're using
It already works asynchronously in neovim and vim on windows, mac and linux. You can follow up with the discussion at https://github.com/neovim/neovim/issues/5522 (you can see some of the progress in thread in gifs)