This is my Vim configuration. Aimed to be a fully featured IDE. With keybindings focused on preventing pinky pain.
Currently, Java is working well with this configuration, features include: auto-completion, various other features supported by an LSP (e.g. static checking, go to definition, go to implementation, find references), and debugging.
Other languages are well-supported using coc.nvim, including JavaScript / Typescript, JSX, Python, Rust.
There are also Git and ripgrep integrations.
This configuration doesn't use an external plugin manager. Instead it relies on the builtin package management shipped with Vim since version 8, plus the submodules feature of Git to update packages.
Example of coc.nvim
git submodule add --branch release https://github.com/neoclide/coc.nvim.git pack/testing/opt/coc.nvim
vim -c "helptags pack/testing/opt/coc.nvim/doc/ | q"git pull --recurse
# or try
git submodule update --remoteInside vim
:helptags pack/testing/start/vim-snipmate/doc/
:helptags ALLApache 2.0. See LICENSE file.