The Tao of Emacs is to constantly be learning something difficult.
The tutorial is your first hurdle, though fortunately the most frustrating. You'll be settling down into a habit of taking on such hurdles, of sitting down with the manual and learning. Whether you learn about a built-in package, like Calc, an external package like Helm, or even a community config like Spacemacs, it's always the same story. It's like being back in the tutorial. "How does any of this work?"
And that's a good thing.
The secret to improving at a skill is to retain some degree of
conscious control over it while practicing–to force oneself to stay
out of autopilot.
– Moonwalking with Einstein: The Art and Science of Remembering Everything
The above principle, called deliberative practice, is why some say to avoid repetitive tasks in Emacs, and find the smart, efficient way to do each and every thing. Unless you're in the middle of a conference, you almost certainly have time, and it will pay off.
Suppose you want to stand on the shoulders of giants, to find the best way to interact with a computer, by co-opting all the best things other people have done. The first step is to get Emacs. That's where people like you have always went, so there's a lot of prior work in its ecosystem not present elsewhere.
Suppose further that after all the cards are down, you want to end up ahead of someone who sticks with "software for the masses", i.e. you want the time investment to pay off. It's not easy, because Emacs can invite yak-shaving and NIH syndrome, but even aside from that, it may never pay off for you if you postpone learning smart tricks in favour of familiar methods.
Want to save time?
- Don't get distracted by attempts to get your color theme or modeline just so. Though it can feel like learning, it's a whole different class of activity from going through the Calc manual.
- Learn the popular packages early. I mean packages like smartparens, yasnippet. It's the gift that keeps on giving. It's also painful to see a five-year Emacs user still be managing parens manually.
- Learn them all, don't defer something until five years later. Think of it like catching Pokemon. The tutorial is your first Pokemon, and smartparens is maybe your second or fifth or fifteenth pokemon. But you must catch a few hundred before you can think of slowing down. There's that much useful stuff! Invest, it gives compound interest.
- Quit having premature opinions. If someone else's figured out a neat way to do things, hop in the fire and learn their way. Afterward, it's OK to have an opinion.
- To minimize NIH syndrome and the amount of private code (to which no-one can contribute), maintain your configuration on top of someone else's and submit patches upstream. You'll probably migrate several times, encountering a ton of solutions you wouldn't otherwise. That means you will be a whiz at Git and Magit.
- Try to co-opt their way as much as possible every time, making your own config as small a "delta" as possible. It's painful, bur your neurons will add the necessary connections, and then it will be banal.
- Spin packages out of your own code to reduce the amount you have to maintain alone.
- Blog about neat tricks you discover. This both helps other people, and helps you.
The Eshell manual says this:
The role of a command shell is to give you more control over what your
computer does for you. Not everyone needs this amount of control, and it does
come at a cost: Learning the necessary script commands to express what you want
done. A complicated query, such as [an example above this paragraph], takes
time to learn. But if you find yourself using your computer frequently enough,
it is more than worthwhile in the long run. Any tool you use often deserves the
time spent learning to master it.
Decide if you agree with that sentence: "Any tool you use often deserves the time spent learning to master it."
When it comes to the tool that is your computer, a fully general information-processing system, that you use often… worth it?