Tags just require you to have something like exuberant-ctags installed, then you can just run `!ctags -R .` from vim and you are golden (only needs to be done as you create more classes/functions/methods/whatever)
Most shit are just GUIs or wrappers for gdb. There are plenty to choose from if you so choose.
If your unit tests take super long that might be a sign they are bad. Also if you can run a single unit test in some way, you can do it with vim. Unless your IDE does some JIT magic on the side that for some reason can not be replicated in terminal.
>it’s UX is awful next to IdE Ux.
I don't like tomato soup, so you are wrong!
>Personally don’t want to cart around a whole folder of plugins on top of vimrc, sounds like a pain.
I have grand total of 3 plugins, none of which are required for me to do work. It depends on whatever you want, I've seen many people use ton of useless plugins which either reimplement something already present or just try to do things "the old way I'm used to" instead of just learning to do the thing in "vim way"
Before you tell me how it’s totally not, all the things you listed require specific knowledge, configuration, and then custom non conflicting keyboard shortcuts (unless you like manipulating your tools 10x slower than ide users). For me it’s just not worth the work. Vim is best for me in its default state, and I can still take advantage of it being available everywhere that way. Ides make crazy configured vim portable by being the default state of the ide and downloadable to any pc (with limits) from the internet. It’s a much lower maintenance approach for me. I’m glad vim works for you, but I find it hard to believe it’s a very practical choice (unless you’re extremely attached to your custom setup).
Also vim seems less discoverable to me. If something’s not a keybind you already set up, you need to look up plug-in docs, or tab through all the hundreds of possible commands. In ide land you open your command Paulette and type a relevant word or plugin name and everything you could do along with keyboard shortcuts is displayed. Not to mention it’s displayed in a way that doesn’t disrupt what you were already looking at. That’s a nice advantage of a GUI.
When I picked up vim and committed to it it’s because I read online it was better and probably thought it made me more badass, but eventually after a few years I returned to IDEs, because they’re genuinely better suited (imo) for programming. Vim is a headache for a second rate ide, and continues to be headache to use as you go (ctags for every language? Official language plugins? ...)
I get you like vim, but using vim seems stubborn to me.
>unless you like manipulating your tools 10x slower than ide users
Imo using mouse alone makes you at least twice as slow as using keyboard shortcuts. Not only do you need to physically move your hand and find your mouse, then you need to locate your pointer (which might not even be on the same screen) then you need to swing it in the approximately right region of screen and search for the button to click. Only to return your hand back to familiar keyboard. All the while you probably could have just pressed 2-3 buttons and be done with it.
>Also vim seems less discoverable to me. If something’s not a keybind you already set up, you need to look up plug-in docs, or tab through all the hundreds of possible commands.
The handy `:help <what-you-want-to-know-about>` has so far served me well, when searching how to do stuff in vim.
Otherwise it is obviously up to your taste. I truly believe that you are wrong, just as much as you believe that I am. From my point of view you probably didn't give vim a proper chance (most likely you fell into the few big potholes that many beginners find themselves, which I'll admit is fault of the default vim configuration)
>ctags for every language? Official language plugins?
Excuberant-ctags have so far worked with me on all but one language (Robot Framework), but people have long told me that exuberant-ctags is bad and I should use something else that is more advanced, I just haven't bothered since it handles C++ and Python well and that's all I currently care about. For language plugins, I guess only thing I have is specific syntax file for Robot Framework, but that's again only because it's still uncommon tool, so support for it is lacking.
Also, yes the mouse can be slow for some purposes, but if you’re not in a typing frenzy it’s probably easier to be in mouse mode which is something like reading mode. Scrolling is much easier for me outside of vim than inside of vim. Also I considered that this is maybe a better match to my workflow, which is often more readingand thinking than actual keyboard input. So it’s ok for keyboard input to be less prioritized. For this workflow having inline documentation, intellisense and compiler errors as you type is fundamental.
Also I doubt I ran into the beginner traps. I used it pretty seriously and exclusively for a year or two and am still proficient at navigating. I even got into using macros like other commenters mentioned, and learned all the different edit mode shortcuts (cxsSDCiaAOo). Seriously editing in vim is really really fast. Although maybe there are traps for people that I don’t already know about, and you could fill me in on those.
>Scrolling is much easier for me outside of vim than inside of vim.
you might want to try `set mouse=a`