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.

closed as off-topic by ᔕᖺᘎᕊ, Nicolas Raoul Apr 15 at 10:12

This question appears to be off-topic. The users who voted to close gave this specific reason:

If this question can be reworded to fit the rules in the help center, please edit the question.

  • This question could be saved by focusing on each particular need and removing off-topic questions, but the easiest might be to ask at vi.stackexchange.com – Nicolas Raoul Apr 15 at 10:13

Browse other questions tagged or ask your own question.