Mickey Petersen writes guides, release roundups, and a book about using and customizing the Emacs text editor.
Commenters recommend the Mastering Emacs book as an excellent base for learning Emacs, and follow the site for roundups of new Emacs releases.
Spend another half an hour, only effectively. Open the tutorial, do it. Sure, the keybindings are weird[0], but try to approach them without preconceptions or prejudice. Imagine you're learning professional software for a task you've never done before. Say, 3D modeling or audio work. There, you would just accept the conventions without second-guessing them.
Work on the tutorial, then spend about half an hour to a hour writing some text and code, so that you get used to interactions. Save a couple of files. Open a couple of files. You should be now comfortable enough to do basic work in Emacs. From there, it's practice, reading and exploration.
The cool thing about Emacs is that it's self-documenting. CTRL+h is your friend (in Emacs-speak, C-h). You remember a key combination but are not sure what it does? C-h k key-combination. Remember a function but not where is it bound? C-h w command, or C-h f command - the latter will give you a full documentation of it (and works for other elisp functions as well). Sorta-remember the command? C-h a whatyouremember - will run a regexp search on a list of all commands. Don't remember neither the key nor the command? M-x apropos whatyouremember - this will run a regex search on everything.
Also, the full documentation for Emacs should be available under C-h i. Or, if you are serious about Emacs and have some money to spare, I can recommend this book: https://www.masteringemacs.org/. It will get you up to speed in no time.
Beyond that,…
Before you actually dive into coding in Emacs may I suggest to do the following:
1) Get yourself a copy of https://www.masteringemacs.org/ and read it. That gives you a very good overview on the design philosophy of Emacs and many practical tips.
2) Explore vanilla Emacs a little bit. Run the built-in tutorial. Explore Emacs's customization UI. Play tetris.
3) Familiarize yourself with how you install Emacs packages from ELPA and MELPA. On your first steps you can use Emacs' built-in UI. But, ideally, you want to learn "use-package.el" as quickly as possible because that will simplify your configuration a lot.
Coming from VScode you might feel a little bit overwhelmed at this point as you will be starting to use a Lisp macro routinely (!) to install editor extensions. Check out the "Emacs from scratch" series on YouTube for a helpful guide.
4) What programming languages are you using? For React projects you might need to use "webmode.el" which is not built-in. Similar situation with Clojure or Rust. If you want more convenience, you also might want to take a look on "lsp-mode.el" that adds more code introspection features. It is not crazily complicated to install and setup but definitely not beginner friendly.
5) Try to identify your most important extensions you are using right now in VScode. What are the features you cannot live without? Then embark on a google search what the most suitable replacements are in Emacs. For example, VSCode's "Restclient" extensions is…
Brews coffee... Oh yes, Emacs is my forever editor. It was created before I was born and will (hopefully) join my digitally converted consciousness on humanity's travels to the stars!
I got tired of switching editors for different languages (PyCharm was too slow for JSX code) and decided to invest in getting Emacs to behave like a decent editor. That took a while :)
I've programmed in Python, Clojure, Nim, Cython, JS, JSX, and a host of other languages. LSP support is getting REALLY good with three strong contenders: the minimal eglot that is in Emacs core, lsp-mode which is the most complete solution, and lsp-bridge that is super fast.
The single thing I love about Emacs is that everything is text. I can do a project-wide search (find-file-in-project), turn off read-only mode, use delete-non-matching-lines to remove stuff I don't want, turn on read-only mode and peruse the remaining matches. Then I can turn on wgrep-ag mode in the search results buffer, search and replace changes, and commit them to all the files. It's a powerful concept.
We are not a single-editor shop, we have Vim, PyCharm, Sublime, etc.
Extra compatibility is just a package-install away, and the ecosystem is thriving. My must-have utilities are expand-region, iedit, multiple-cursors, whole-line-or-region, pdf-tools, try, find-file-in-project, helm-ag, rg, undo-fu, and the list goes on :)
It has great workflows for compilation, buffer (file) switching, window management, tiling, and SO much more.…
Hey there,
I used to Vim too, and started using Emacs since I started doing a lot of Clojure development. Since then, I have not looked back. The power and flexibility of Emacs is second to almost none. Just the other day, I was working on a Latex file, and I had a buffer open with a pdf viewer right next to my tex file, that would update as soon as I saved changes to my tex file. And the community has done almost everything you can think of already. If not, just write it yourself!
To get started, I would highly recommend using Emacs Prelude: https://github.com/bbatsov/prelude
It's incredibly useful and user friendly, and makes your Emacs all the more powerful. This is a good intro article to it: http://batsov.com/prelude/
The other blog that I find useful even as a fairly seasoned Emacs user is http://www.masteringemacs.org/
It has some great guides and tutorials for beginners too.
I've written about Emacs for, hm, nearly 13 years [1]. My recommendation is picking one thing you want to start doing in Emacs, and then focus on getting good at that.
Maybe that's doing your shell/terminal work in Emacs. Perhaps it's note taking and organising your thoughts, tasks, and agenda. Perhaps email. Maybe it's small shell scripts at first, before you move on to larger tasks, like full-on programming like you do in your daily job (I am guessing.)
If you try to do everything, while trying to remain productive at your job, you'll probably abandon Emacs.
I've written a book on Emacs, which will definitely teach you Emacs. But it's not a _requirement_ to read a book on it. The manual and tutorial and both good places to start if you'd rather do it for free.
[1] https://www.masteringemacs.org/
"Mastering" emacs (certainly any version of "mastering" it that takes a whole year) requires learning a programming language, elisp. This is because emacs isn't an editor. It's a language and environment for rapiy developing textual user interfaces (TUIs) and "customising" or "configuring" it is programming. To just learn to operate it as a text editor certainly doesn't take a year, but if that's the approach you're going to take I wouldn't recommend emacs. Use VS Code or a JetBrains IDE or whatever instead.
The linked article isn't very good, BTW. If you're interested in actually mastering emacs, the book "Mastering Emacs" [1], whose author comments here regularly, is the place to start.
[1] https://www.masteringemacs.org/