I’m thinking of switching from VSC to VIM because VSC is too heavy in term of ressources usage.
Currently, I use the VSC + VIM extension and I’m pretty happy.
But nowadays, I avoid to open some monorepo projects because it takes too much time and I use the Github explorer instead. Also, I use the mouse too much.
So I finally took the decision to give a try to Neovim.
I initially started with SpaceVIM and it was a good experience. But there is too much magic for me. Also, I have the feeling to not learn VIM.
So I setup CoC with VIM-plug + NerdTree. It looks promising.
Do you have any tips for me?
CoC and Nerd tree are popular plugins, but I personally found CoC slow (on a 7 year old laptop) and I’ve switched to using coq with neovim’s native LSP (helped by LSPconfig) and I’ve always used Chad tree by the same author.
A couple of other plugins I commonly use are: fzf, vim-polyglot, auto-pairs, nvim-treesitter (this has many IDE’s beat IMO), vim-which-key, lualine.nvim, nvim-web-devicons, barbar.nvim, gitsigns.nvim, rainbow-parentheses.vim
You can also set scrolloff and sidescrolloff to something like 99999 to keep the cursor centered.
For the rest I have Shift+hjkl for 10 line jumps and Ctrl+hjkl for jumping between panes. You might want to increase your keyboard repeat rate (I have a timeout of 200ms and a rate of 70Hz personally, but that might be a bit fast for you), some hardcore vim users may also like to swap caps lock and escape, but I had mixed results with that.
Using shift+hjkl for 10 line jumps you lose J to combine lines which I find myself using a lot. Do you have those kind of things bound to something else or do you just not use them?
One option is to use alt+hjkl instead. Vim can be a bit weird about alt mappings so nothing is bound to alt by default. Neovim has better alt support out of the box so it’s a good way to add extra mappings without conflicting with the default ones.
I haven’t had a need for it and it got in my way more than anything else.