I think for both Vim and Emacs the decision comes down to this: Do you intend to invest in your editor? Not only in the sense of investing time to learn their idioms and acquire some basic muscle memory, but also to configure it to your liking.
Both Emacs and Vim are usable in the default state, but there's much much more you can get out of them. As opposed to most IDEs, which usually have one proper way to use them, both Vim and Emacs thrive on configurability. On the flip side, that means that you're going to spend time setting up and maintaining your config. If that's not something you can endure (or even enjoy), you might want to leave it be.
As far as I can tell, that's also the main reason both are often overlooked in CS classes: The goal of most professors teaching programming is to actually teach you a language, not explain an editor for a couple of weeks.
Isn't the initial learning curve the biggest time suck? I don't know either besides some basic vim commands. But seems like learning vim to the point of it being second nature would take up the majority of time.
That's one way of seeing it. You'll have to keep in mind, though, that you don't need to learn hundreds of Vim commands to be as productive in writing text as before - that's actually rather easy to achieve. So, for me, it doesn't seem like a timesink that much because anything past that point will speed you up. Hacking around in my Emacs config (I'm an Evil user) on the other hand does eat up time. I don't know if it wouldn't be as bad if I wasn't annyed with minor things not working exactly how I want them to, though.
Edit: I'd also say that Vim bindings are something where "learning by doing" is the best way to get going, and I'd assume the same applies to Emacs hotkeys. If you want to use them effectively, you'll want to develop muscle memory for the most common actions, so they are a great thing to pick up while you're actually working on stuff.
I've used emacs for about... gosh, 18 years now since I first learned it in 1999 in my high school AP CS class.
I'd say the main benefits of learning emacs or vim today are:
1. Exposure to the history of systems they embody.
2. Experiencing the philosophy that customizability should be a key characteristic of your tools and work environment.
For the first, deep use of emacs will teach you about using lisp in a non-academic way; self-documenting systems; modularity; maybe even the unix command line. Oh, and the indisputable fact that your caps lock key should be remapped to Ctrl. :)
For the second, you have a fair bit of customizability in JetBrains but it's nothing compared with emacs or vim. In both of those there is incredible power to modify the behavior of the environment, and the incredible range of ways this power has been applied is a testament to its design.
They taught us Emacs in college... it was clear from the beginning that this was an ultra nerdy and powerful editor and that the "serious" nerds should use it. I drank the cool-aid and used it for a while, but when I graduated I didn't use it again. I just started using what my co-workers were using. I suppose that makes me a bit of a follower on editors, but in my mind, I don't care, I don't get excited about editors.
My advice is to use what everyone around you is using and focus on making cool stuff.
Emacs you'll find most productive if you live in it, so aside from development where you get your SQLI shell or whatever, also using magit, using pdf-tools to read papers, reading project mailing lists, using org-mode for billing if you're a freelancer, scripting your shell (and now your packages too https://alezost.github.io/guix.el/ ) ect.
I'd say learn Vim. I also use JetBrains products for development, but can find my way around vim and can set it up to my liking. The skill has been a pretty nice timesaver for both me and my colleagues when they need to do something with it.
As a web dev who does about 40% front-end, I find vim just as useful there as I do for all he other dev work I do--which is very, very useful.
I have no particular reason to want to jump into an IDE, which I imagine is what you're recommending instead. Vim acts as my IDE without much effort. I have a linter, syntax highlighting, etc.
I won't sing the benefits of vim here since they should probably be well-known in this thread, but editing code without vim movements is, to me, a nightmare.
I'm not sure what you think would be different in another editor.
Emacs does some things better and some things worse. There is no Silver Bullet or free lunch. Language support is one of the things it does better than your favorite IDE. If you want to write code in Graphviz's Dot and Standard ML and Erlang and Clojure and C and Python with a consistent user interface, Emacs is a viable option.
Many IDE's also provide Emacs-like keybindings as does Bash by default. The ability to maintain a consistent user interface may or may not be worth the Emacs learning curve. Org-mode is another thing that may or may not be worth the curve.
Yes and no. I generally don't recommend emacs to everybody by default because I've come to realize it's not what everybody wants. Until people want to have a powerful, customizable editor I recommend something pretty and user friendly. Perhaps sublime text, where they can ease into being productive.
That said, I do definitely recommend it to people on a case by case basis (Power users, command line gurus, mouse haters, etc). Those who make it over the initial learning hump tend to really love it.
Not sure. One part of me wishes I hadn't.
Once you get used to emacs, working in other environments will get rather annoying. Don't think it makes me that much more productive either. Not to mention the days and weeks wasted customizing it.
I won't be quitting anytime soon, but wouldn't recommend it either.
Only if you want to learn about the greatest piece of extensible software. Most software written nowadays doesn't have the same objectives as Emacs. Emacs unfortunately gives me RSI.
Yes. Learn how to use emacs and use org-mode to organize everything. Also, the best way to learn emacs is to use it everyday. Emacs lisp is a powerful programming language too!
Sure, it's getting better and better, with more exciting functionality builtin and just working, which was in the previous decades just optional and unstable.
Yes. Emacs has the wonderful property of one time investment in time and learning curve that pays off over years to do all sorts of code and non-code editing.
Both Emacs and Vim are usable in the default state, but there's much much more you can get out of them. As opposed to most IDEs, which usually have one proper way to use them, both Vim and Emacs thrive on configurability. On the flip side, that means that you're going to spend time setting up and maintaining your config. If that's not something you can endure (or even enjoy), you might want to leave it be.
As far as I can tell, that's also the main reason both are often overlooked in CS classes: The goal of most professors teaching programming is to actually teach you a language, not explain an editor for a couple of weeks.