Instead we resort to using jetbrains stuff.
I think I'm probably equally as productive as a person that really knows their editor of choice. The productivity benefits mostly just come from knowing what things your editor is capable of.
However, I subjectively feel a twinge of frustration whenever I need to take my hands off the keyboard to reach for a mouse. So using vim makes a massive impact on my day to day wellbeing.
I don't care about the productivity, I do care about not doing tedious things.
There are many syntax-aware vim verbs (ci[ or ci” for example) that save a lot of time and let me get back faster to thinking about the what and not the how. Too much time on the how and my ADD kicks in, sure as someone walking into my office and trying to talk to me.
Keybindings seem to engage your brain in a different way and make the activity more fun, but I don't think it's actually any more productive.
I feel the same way about vim that I do learning cursive; I honestly wish I could erase it from my brain because -- and it took a long time for me to figure this out -- it, for me, brings NO advantages.
Now, what would be nice is something as extensible and potentially light as vim but, first and foremost, played nice with other "regular people" programs and keybindings. Maybe it's out there, but I haven't found it yet.
> 1. I'm talking about C# and Java
I write Java in vim, and it's pretty usable. Coc.nvim and coc-java fix code completion. There are also plugins to make running tests, and the debugger usable too. I can't stand the start-up time of IntelliJ!
Wanna be survivable in vim? I know of _the course_ that teaches you enough vim to be survivable in just a few hours! You think I'm selling snake oil? Nay!
On Mac/Linux type: vimtutor
Do all the lessons
Then a month later do all of them again
A few months later do them again
You're now survivable in vim and it only took you a few hours ;-)
Is that even true though? The VsCode Vim extension has over 6 million users, pretty much every editor ships with a vim mode and if I had to guess most developers are at least cursory familiar with vi editing motions. The latest Stackoverlfow survey put vim at a respectable fith place[1] with 22% of devs using it.
I've never felt vim is some sort of fringe stumbling block, and that's coming from someone using Emacs day to day. (where a good chunk of people use evil mode)
[1]https://survey.stackoverflow.co/2023/#section-most-popular-t...
After pairing with many co-workers using vscode, I saw the light and had to switch. Then I discovered vscodevim[1], and now I have the best of both worlds! The ease-of-use and "it just works" of vscode, and the power of Vim when I need it.
[1] https://marketplace.visualstudio.com/items?itemName=vscodevi...
EDIT: Years of "fixes" I've had to figure out and add: https://doc.xn0.org/.vimrc
That's a not universal problem, of course. I barely touch my vimrc anymore. I've paired with vscoders a bunch and never saw any light ;)
I have switched to neovim and have been using it for the last 5 years. I haven't had a desire to move back.
There's something about using the keyboard to seamlessly transition between tabs, buffers, terminals, and control window positions and sizes that makes me enter into a flow state a lot easier than other editors.
The only thing I truly miss about VSCode is how easy it is to set things up. In neovim it can be a PITA.
Like with the Perl programming language, I probably understand about 5% of the capabilities of a modern vi implementation. But those are hardcoded into muscle memory for the rest of my life. ddp to swap a couple of lines or :e! to undo your edits and reload is fast when you don't have to think about it, and ditto is moving around with just alphanumeric keys - not having to move the hands to a an arrow pad. Probably vi appeals less to non-touch-typists.
But am I insufferable about it? Nope. I just like it this way. Just fine to drop into an editor of choice if someone else needs to collaborate. And I'm aware that my younger, more mentally elastic colleagues have all developed wizardly knowledge of Visual Studio Code... hmmm, maybe it has vi bindings...
I've seen programmers on multiple occasions spend 30+ minutes writing a script to do what could otherwise be accomplished in less than thirty seconds with vi(m).
I often see HN users dismiss vi's approach to editing as if it were some kind of micro-optimization, but consider what impact writing the aforementioned script has on flow. It's worse than the resident office WaterCoolerGuy chewing your ear off for 30 minutes, IMO.
But I also use PyCharm and VS Code now too.
It is just a tradeoff, like anything else. Using a niche tool means that those not in the niche are alienated, but those in the niche are drawn to you/familiar.
Any time someone brings it up, I basically say "yeah, I use this tool, but it really is just a tool that I personally choose, and can see how someone would pick another one. Not everyone wants to fuss with their environment all the time to get their job done." etc. I both genuinely believe this and think its a disarming POV.
Really, at this point in my career, I have a massive quantity of legacy knowledge that informs my choices. Since I know emacs lisp, and have already expended the effort to learn and use it, it continues to be worth my while to work in this environment. For someone who doesn't have this legacy knowledge, their value calculations won't work out in the same way.