Vimscript is a pain but these days you can use Neovim which supports Lua as a replacement. I’d recommend checking out what Neovim has to offer. ThePrimeagen has a great video on setting up Neovim as an IDE from scratch.
vim.keymap.set("n", "K", vim.lsp.buf.hover, { buffer = buffnr, desc = "vim.lsp.buf.hover" })
vim.api.nvim_buf_set_keymap(bufnr, "n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>")
better than
nmap K :lua vim.lsp.buf.hover()<CR>
It's like the javafication of vim configuration.
0: https://github.com/RMPR/dotfiles/blob/master/.config/nvim/in...
Tried using vim, neovim, Emacs, mg, etc a month ago and quickly went back to pycharm which hogs resources on my ancient computer.
Have been looking for a "how-to" on various editors. This video seems to be it for neovim.
Offtopic: I'll pay you in blood for configs for fvwm