I've used Vim for many years and I don't recommend people learn it. The things which make Vim strong (cross-platform, plugin ecosystem) has been subsumed by VSC for the most part, and what is left is Vim's unique philosophy of text editing, which by itself is an incredibly modest proposition.
Software like VS Code lives in cycles. It's popular now but you will see it being less popular every year. People will notice how it grows slower, buggier, and probably some unpopular decisions by Microsoft will annoy users. This is the default path for big software.
Vim will always be there and because it's not backed by big tech, it will continue to be modular, fast and modern.
Much like Linux, learning it means you are free, powerful and you will not get affected by the whims of big tech. This is very valuable.
Every year you use free software, you invest time in skills that won't go away and will support you for life.
Yup, that's also why I decided to get good in vim.
I was pretty happy in TextMate at the time, but the popularity tide had turned as he was working on TextMate2. The writing appeared to be on the wall, so I learnt vim properly. Sublime took over, then came Atom, now VSCode. Neovim is home for me now, and that's been a whole other beast to configure, but vim has just been such a stable, efficient environment for me for almost 15 years now.
If you actually want to take full advantage of the editor and its plugins, then the answer is yes. It's easier to immediately get to grips with vscode than vim, but once you've understood the basics for vim (which takes maybe a full day of studying, and then some practice over a few months), the two editors are pretty equivalent in how much time you have to spend on super-powering them.
I think that's relevant because once you've seen how vim (or emacs) can be customised, it's kinda hard to accept vscode as is, without spending significant time customising it. To me, that makes your argument that it's easy to move to the next big thing, mostly invalid... it would be easy if I don't care about learning and customising the tool.
Of course mileage may vary depending on how picky you are with your setup. I'll admit I lie on the picky end of the spectrum.
> the two editors are pretty equivalent in how much time you have to spend on super-powering them.
One of the most disagreeable things I have ever disagreed with.
If you remove your bias, you'd find it within yourself that you would disagree with your own statement as well.
When the next VSCode comes along, I will move onto it with ease. Please do not ever consider that I'd get onboarded to vim just as quickly - I've spent enough time with vim to know such.
> If you remove your bias, you'd find it within yourself that you would disagree with your own statement as well.
You don't know me, or what my experiences are. So please don't assume that I'm biased, simply because I have a different view than you. Likewise, please don't assume that I would share your view if I just understood things as well as you do.
I maintain a small amount of config files for vscode, a medium amount for vim, and a large amount for emacs+evil. I use all three editors for work, and have done so for years. The thing holding me back from switching to vscode fully is precisely the fact that it would take too much effort to customise it as well as I have customised vim and emacs.
Obviously your experience doesn't agree with mine, and I clearly can't say why. All I can say is that vim simply "clicked" for me when I first learnt it. I have coached enough coworkers that I can say the same thing applies to most people who take the time to learn the "vim way". And of course vim would not be as popular as it is, if that wasn't generally the case.
Perhaps vim simply doesn't speak to you. That's okay, nothing wrong with that.
But it's objectively complete nonsense to claim that vscode does not require a substantial time-investment if you really want to super-power it. And that has nothing to do with the editor, it has everything to do with the fact that the editing experience is highly individual. If you really think you will move onto the next vscode with ease, all that tells me is that you won't take the time to learn the tool.
>Obviously your experience doesn't agree with mine, and I clearly can't say why. All I can say is that vim simply "clicked" for me when I first learnt it. I have coached enough coworkers that I can say the same thing applies to most people who take the time to learn the "vim way". And of course vim would not be as popular as it is, if that wasn't generally the case.
From my very first comment about the matter.
>>I spent about 4 months on it daily unable to get up to speed how I was originally.
>>This may just speak to my own inabilities of muscle memory, and granted, If I used Vim a little younger, I think the outcome would be different.
You keep talking about configuration, when the bigger elephant in the room is learning the keybindings.
It took me almost 2 months to be comfortable without looking at the vim cheatsheet
It then took another 2 months to get to a speed at which I felt like I could be productive.
And at that point, my typescript projects were so incredibly slow, I had to quit vim.
>But it's objectively complete nonsense to claim that vscode does not require a substantial time-investment if you really want to super-power it.
I still disagree as GUIs makes configurations a lot simpler, and as plugins are just a click away.
Again, if you include learning the keybindings, which for some reason you refuse to, you'd find it within yourself that you would disagree with your initial statement.
> Again, if you include learning the keybindings, which for some reason you refuse to, you'd find it within yourself that you would disagree with your initial statement.
This is such a presumptuous and arrogant statement to make.
Not only do I include learning the key-bindings, I also am thinking of customising your own key-bindings. But simply learning the default key-bindings should not take you 2 months. Even if it doesn't click for you, I am convinced you could learn this faster.
And besides, vscode also has a ton of key-bindings. That's one of the very reasons why I haven't gone full in on vscode. Your 2 months to learn vim key-bindings should also take 2 months in vscode, if you approach it with the same efficiency. The way you respond here, I'm starting to think you'd already made up your mind to dislike vim before you tried it.
> I still disagree as GUIs makes configurations a lot simpler, and as plugins are just a click away.
And each plugin also comes with key-bindings and customisability. If you simply install a plugin and leave it at that, then you haven't spent the time actually learning it. Installing a plugin in vim is as simple as adding a single line in vimrc.
1. You don't need to learn macros for VSCode. I personally use just about a dozen of them, but the mouse suffices for majority of the usecases. I don't have the necessity to shave off milliseconds.
2. Vim requires 2-3 dozens of keybindings memorized in order to have a decent feel for the editor, which of 1-2 hours of daily practice took me about 2 months.
3. The productivity gained from keybindings/macros/file navigation is negligible in the bigger scheme of things as it is your brain that does the heavy lifting in code.
I don't understand why you are so obsessed with the idea that me disagreeing with you means I haven't seen the light. It's a little weird, to be honest. There should be room for having different experiences, without that necessarily meaning the other person is wrong.
> apparently it isn't just "one line in vimrc"
That documentation includes info on how to customise the setup. As you should do, if you want to take full advantage of the plugin. Bottomline: this documentation is not equivalent to a single click in vscode. It's still a single line if you merely want to install the plugin.
> The problem with keybindings on vscode is that it isn't necessary to learn them
It's necessary if you want to be a power user. Your original argument was that anyone should be able to jump onto the next vscode with minimal effort. But this is clearly not the case if you want to be a power user. If you don't want to, that's fine. But your size doesn't fit all.