So this is kind of a follow-up to this answer over on stackoverflow. I have been naivly using vim for quite some time now and recently finished my first small c++ project in production with it. I got a resonable grasp on how to advance with the vi features and improve my editing speed. I also added vim to the dependencies in the deployment script and doing a quick fix on the terminal of the deployment machine was just as simple and quick as it should be.
Now that I will be starting a few new projects at the same time, where I cannot use my favourite IDEs I decided I want to fully embrace vim, since it will always be available to me.
However to fully dive into it in a production project, I have a few requirements that base-vim does not fullfil. Which means I'll have to delve into the plethora of vim-plugins, which for a beginner like me who probably only knows 10% of movements is kind of overwhelming. Additionally this thread was kind of discouraging; they say to get into a foreign codebase they switch to an IDE as it's core features are not available in vim - and getting into a foreign codebase will be over 60% of my work since I am only employed for 20hrs as compared to my collegues. However when sorting for high-karma plugins on vim.org there's the taglist plugin, which looks promising; but then I also read abot cscope- how to decide which is better suited? Apperently there's bad plugins that break what vim is meant to do(like how ctrl-P is a more "vim-way" of doing it as compared to nerdTREE - at least using a fuzzy file finder makes sense to me as I use the double-shift search in JetBrains IDEs very often).
So here's my multi-part question:
How to build a .vimrc that is as powerful, as say a JetBrains IDE?
- Static Code analysis, Linting for many languages, jump to definition/usages(across files?) etc...
How to decide which plugins or even plugin-manager to use?
Should I use neo-vim?
When should I remap keys on a foreign keyboard and how to do it in a way that doesn't break vim or it's philosophies?
Any tips on how to be as productive as with an IDE in vim are very welcome!
I am not necessarily asking for the "perfect .vimrc" but rather for recomendations or a process to gradually improve myself and my own .vimrc, without breaking anything.