Vim isn’t hard, and it’s faster than everything else.
Vim is the one true editor (except for that other one true editor which is also ok).
Vim isn’t hard, and it’s faster than everything else.
Vim is the one true editor (except for that other one true editor which is also ok).
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.
But the thing is, I'm productive enough.
Furthermore, I found the mouse to be faster in many cases - I only believe the top 10% of vim users who have spent countless hours tailoring their config to be the most "productive" in terms of typing.
I say productive in terms of typing, because when we code, a grand majority of our productivity actually comes from our brain.
Squeezing out additional wpm actually has very little relevance to productivity.
But looking at seasoned Vim users looks cool though, and it definitely does give those style points.
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.
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.
Do you have to learn Vscode? no.
Do you have to learn vim? immensely so.
Moving onto the next big thing (although i'm betting on vscode for at least the next decade), is not going to be hard.
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.
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.
Jesus.
> 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.
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.
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.
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 think that the utility of VIM comes from squeezing out wpm, but in it's navigational and editing capabilities. Particularly when paired with a relevant language server, code navigation is a breeze. Additionally, being able to run it on a remote server, in a tmux session, means I can drop off and pick up my work from basically any machine without any effort.
My vim config is pretty barebones, its primarily just language server support and git fugitive.
Now, modern vscode setup with a remote plugin, language plugin (and vim keybinding plugin) gets you basically the same benefits. For me personally though, I find a few things more clunky in that setup than the vim version of it, mostly around code navigation.
it does have a learning curve and took a while to settle down all those key bindings with plugins. once you past that point, it never stands in the way, and I don't need move my fingers away from the keyboard to pick the mouse and click here and there then move my hands back to keyboard anymore.
There are a couple "flavors" of neovim that do a lot of the heavy lifting for you as far as plugin setup to give you a better initial setup experience, otherwise you will need to put in some work to finding all the plugins you want, and some of that work will need to be repeated for each language you want to write.