It's all about the time you're willing to invest in your tools. The more you use your tool, the more that time invested will pay off.
In the case of emacs though, the problem to me is the continuous learning curve. You ALWAYS and CONTINUOUSLY have to invest time. Every time you want to use a new language, try a new plugin, etc. you need to learn a bunch of shortcuts. I think this is detrimental to actually becoming more efficient at using your IDE.
With VSCode, I can quickly try a dozens of plugins without having to learn all the bindings, and if I really want to use a few long-term I can just fuzzy search the commands and get a reminder of what the shortcut is.
The example you give with git is about investing your time learning git, not investing your time learning emacs. I use git on the terminal within VSCode.
> You ALWAYS and CONTINUOUSLY have to invest time.
That's false. You can continue to invest time, but you do not need to. Additional investment yields additional rewards, of course, but there are plenty of folks who just use Emacs as a glorified nano, knowing how to save and how to quit and not worrying about too much else.
I think perhaps folks who are used to systems with limited potential are confused when dealing with a system with unlimited potential. You no more learn everything you can do with Emacs than you enumerate the integers: instead, you use the bits you need, as you need them.
> Every time you want to use a new language, try a new plugin, etc. you need to learn a bunch of shortcuts … With VSCode, I can quickly try a dozens of plugins without having to learn all the bindings, and if I really want to use a few long-term I can just fuzzy search the commands and get a reminder of what the shortcut is.
What are you talking about? Among the virtues of Emacs are consistent keybindings and fuzzy search for commands.
I do not get all these folks who think they know everything about Emacs when they clearly have never used it.
Lol. I’ve used emacs for years, and still use it, and I’ve become stagnant due to how hard it is to introduce new plugins or features in your workflow. Have you actually used VSCode for more than a year?
> You ALWAYS and CONTINUOUSLY have to invest time.
Not at all. First, you learn Emacs Lisp. Then, you don't need to learn anything else related to Emacs, EVER.
> Every time you want to use a new language, try a new plugin, etc. you need to learn a bunch of shortcuts. I think this is detrimental to actually becoming more efficient at using your IDE.
No, not at all. Just rebind the defaults - the defaults are what suited the author of the package, and being a different person in different environment there's very little chance they would suit you. So, instead of learning how others do things, just pick keys you want to use, and write a hook for every new mode to bind those keys to the functions you expect of them. Once you know even just a little Elisp, it's a trivial thing to do - literally 10 minutes on the longer side.
> I can just fuzzy search the commands and get a reminder of what the shortcut is.
I do the same in Emacs all the time. Press Alt+x and start typing, Helm will display keybinding next to the (fuzzily matched) command names (doing it this way is often faster(!) than pressing the key combination, which can involve multiple keys in a row, in a so-called chord). From the same interface, you can jump to the command source and display its documentation, too.
> The example you give with git is about investing your time learning git, not investing your time learning emacs. I use git on the terminal within VSCode.
I think the OP meant specifically the interactive rebase, where you're expected to replace the leading word in each line with one of a few choices. Of course, Magit is the answer here, so you don't even need the advanced ways of navigating and replacing text.
In the case of emacs though, the problem to me is the continuous learning curve. You ALWAYS and CONTINUOUSLY have to invest time. Every time you want to use a new language, try a new plugin, etc. you need to learn a bunch of shortcuts. I think this is detrimental to actually becoming more efficient at using your IDE.
With VSCode, I can quickly try a dozens of plugins without having to learn all the bindings, and if I really want to use a few long-term I can just fuzzy search the commands and get a reminder of what the shortcut is.
The example you give with git is about investing your time learning git, not investing your time learning emacs. I use git on the terminal within VSCode.