> ... start in VSCode... set aside time to do some tutorials...
Read a vim tutorial. Sheesh, I'm an emacs user and I think it's the greatest thing since sliced bread but I don't go around telling newbies that they should use good tools. vim's great. If that's what works for you, stick with it. You'll learn how to work with it eventually.
You don't even have to read a vim tutorial. The tutorial is already baked in.
I learned vim by doing vimtutor every couple of months to learn more advanced features after getting basic navigation and editing motions down and forcing myself to use it for as much of my work as I possibly can.
Learning vim early paid dividends in terms of productivity and also by forcing me to learn more about how to actually leverage other coreutils around vim to get the most out of it.
The path of learning that way from the start is slower and more difficult, but the skill ceiling it unlocks is much higher in the long run imo.
> I learned vim by doing vimtutor every couple of months to learn more advanced features after getting basic navigation
I think you're missing the point. Should a novice programmer postpone their education by months because they need to satisfy the imaginary pre-requisite of learning vim via vimtutor?
There's a lot of thinking involved at all levels let alone at the novice stages. I cant imagine how frustrating it'd be to understand closures + remembering that ci" changes the expressions inside double quotes.
> Should a novice programmer postpone their education by months because they need to satisfy the imaginary pre-requisite of learning vim via vimtutor?
I think this splits out into two camps of people:
1) People who are deeply curious and want to tinker and learn new things
2) People who view programming as a means to an end and want to build an app
If you're a novice I think you're better off falling into camp #1 even if it takes longer because you're still picking up education at every step of the way about what tools exist on your system and how to use them and then eventually once you're good enough you can coast and move into camp #2.
The same curiosity that led me to want to learn vim led to me wanting to learn about as many tools shipped with Linux as possible because I assumed many of them would be as powerful as vim was. That curiosity led to me eventually building up a much deeper intuition about how systems work and I think ultimately made me a better developer.
Is it a frustrating process? Maybe at times. But for the most part I think computers are fun and learning about them is fun even if I don't fully grok what I'm doing at the time.
At university in the 1990's we had a short mandatory unix+emacs introduction as part of our first programming course. Maybe a few hours spread out over a week or two. Enough to get everyone started I think. Most of us ended up using it for everything after that and it was pretty much mandatory for some later courses (instructions assuming that you could use some REPL or such in emacs).
Not saying that it must be emacs and not some other editor, but it surprises me that any education does not include at least some introduction to how to use important tools like a code editor to getting work done.
If it doesn't all stick, you can just go through it again once per Sunday until you internalize everything you need for everyday development, though this is unlikely to be necessary.
This is an incredibly dishonest framing. I learned enough about vim to get around in it in a single sitting. In fact, learning to use an IDE has taken more time in many cases.
Read a vim tutorial. Sheesh, I'm an emacs user and I think it's the greatest thing since sliced bread but I don't go around telling newbies that they should use good tools. vim's great. If that's what works for you, stick with it. You'll learn how to work with it eventually.