So 10 hours on a config is only .5%, which is the productivity gain you need to realise to get that time back in one year (assuming you also spend 0 hours on fighting vscode).
Unless you're retiring within the year, that calculus doesn't make sense.
The productivity boost you get with from Emacs/vim is huge once you learn it well.
I strongly believe that learning one of these two editors is probably the easiest and biggest skills leap you can take as an intermediate or senior developer.
No other skill you can learn will have as big of a payoff to your productivity given the relatively small effort to get proficient.
While learning vim/emacs and CLTs may not make you a better programmer, but they can absolutely make you better at understanding and using your tools effectively.
One simple thing I like to do at every job is setup an ansible playbook for the team I'm working on. What ansible allows is me to setup a tool to download all the relevant languages, binaries, create company specific repos for directories, establish a foundation of common CLTs, automatically install software, and fully setup all the paths. Now any person, old or future hires, can literally set up their machine in less than 10 minutes; an activity I see people usually give a full "week" to do.
This is just one example of being more productive with these tools. What's nice about vim are vim motions, they become extremely intuitive and all the supporting libraries, plugins, and other CLTs utilize these vim motions which makes productivity extremely nice.
If you want to see someone's workflow I'd checkout ThePrimeagen's video on his workflow:
I don't know why you are conflating these things with the editor one uses.
*Edit: Why the downvote? Tell me what I'm missing instead.
Most of these tools I tie in with vim hotkeys to shoot off various things. For example, I use telescope to jump between different git worktrees using vim motions or when using tmux I have vim motions mapped to maneuvering around panes (tmux cmd + hjkl) or going back to previous window (tmux cmd + o).
I'm not saying you can't learn to use these tools without vim/emacs but in my limited work experience those developers that use vscode for everything tend to be completely lost when the terminal takes the fullscreen.
I’ve been building corp infrastructure for a decade and I can tell you first hand how much of an impact fast, stable, updated environment can have on organizational productivity and overall output. I doubt devs are some how excluded from the pack.
The old proverb of shit in shit out also applies.
I've worked on teams where some members used IDEs and others used traditional text editors, and what differentiated their productivity was inevitably between their ears.
What the vim movements do is allow you to focus on your code without interruption. You can do everything without shifting your focus from the block of code you're currently editing. It's hard to describe until you've experienced it. I think it's just easier to get into and maintain a flow when the editor gets out of your way.
Our experiences differ with regards to the correlation. In my career I've seen a massive discrepancy between effectiveness of editor use and developer impact. Off the top of my head, save for one person (who used Sublime), every outstanding engineer I've worked with have either used vim or emacs.
https://github.com/vscode-neovim/vscode-neovim
I highly recommend this if you know vim keybindings and want an IDE experience.
Frequently I find myself frustrated that I can't undo exactly what I need to, and it ends up undoing more than I want it to. I never had this problem with vim but with vscode, I probably experience it once a day.
I switched to the vscode-neovim plugin which works better… at least, it doesn’t do this undo thing, and it’s faster. But it’s not entirely perfect either and lately the command/insert/cursor location has been bugging out.
https://github.com/nvim-lua/kickstart.nvim/blob/master/init....
It’s been a few years since I last tried so hopefully this has improved. I tried the vim plugin for Jetbrains and found it lacked window navigation and support for things like registers that I use a lot in vim.
At the time I was using webstorm (at a client’s insistence) and found that for the weird JS project we were working on Tern.js was actually better at refactoring and navigating anyway so I just went back to using it with Vim.
What are you doing, <C-r><C-p>0 ??
You aren't always able to use an IDE.
You aren't always editing code.
You also don't have to wait on an IDE to support your language.
But the worst part was making Vim provide with things that you'd expect programming editors to have. So many options, what's best is up to opinion, integrating language servers, getting intellisense to work as you would expect, searching the project folder for file names.
Then I realized that all I'm trying to do is make Neovim behave like VS Code with the extra addition of keyboard navigation, which I can get behind. But at my current career level I'd rather spent those 5-10 hours configuring an editor in learning more about <insert whatever language/framework I'm learning>.
I mean, just another Vim introduction when you already have the free options (vimtutor etc.) and FEM's "Vim Fundamentals" won't fix my pains with getting it to work as I'm expecting it to work.