Vim
Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient. The way that you interact with it make it more than just a text editor (or not), a way of interacting with your entire computer.
Using it, your understanding of how to interact with a computer may change. And not only for editing text, but in how you manage your entire system, from the window manager, till your general workflow.
You can find a comprehensive list of applications using Vim keybindings in the The Keybindings Everywhere - The Ultimate List.
Some configuration tips …
Add the pluggin to your .vimrc file:
call plug#begin(globalVimfiles.'/plugged')
Plug 'neoclide/coc.nvim', {'branch': 'release'}
call plug#end()
Install the plugin:
:PlugInstall
Install java extension:
:CocInstall coc-java
From the developer github:
:CocInstall coc-explorer
:nmap <space>e <Cmd>CocCommand explorer<CR>
<space>e
I have changed default keymapping in vim to not lose functionality, so I changed Manage extensions to use ‘E’ instead of ‘e’:
" Manage extensions
nnoremap <silent><nowait> <space>E :<C-u>CocList extensions<cr>
" Open coc-explore
nmap <space>e <Cmd>CocCommand explorer<CR>