reddit / emacs

How do I become an advanced Emacs user? What are the skills I need to have to be considered advance?

deephl · 2022-02-25 03:15
I know how to do the following: - divide into windows - copy and paste - move cursor down, up, forward, backward - save a file - melpa and use-package config in my init.el - know how to install programming modes for various languages eg haskell mode, racket mode. - use shell within Emacs That’s basically it. Any advice as to how to become advance? Thanks
EcstaticBill2638 · 2022-02-25 03:18
How long is your beard?
quiteasmallperson · 2022-02-25 03:38
I'd say making good use of things like keyboard macros (it's in the name!) and registers and more advanced text manipulation key commands and learning some built-in tools like dired would be next steps. Depending on your needs maybe TRAMP or magit. Org mode is for many a killer app within Emacs, but ymmv.
nv-elisp · 2022-02-25 03:43
I am the psychotherapist. Please, describe your problems. Each time you are finished talking, type RET twice. I know how to do the following: divide into windows copy and paste move cursor down, up, forward, backward save a file melpa and use-package config in my init.el know how to install programming modes for various languages eg haskell mode, racket mode. use shell within Emacs That’s basically it. Any advice as to how to become advance? Thanks Can you elaborate on that?
ideasman_42 · 2022-02-25 04:11
Suggest not to have this attitude, use Emacs for your work/projects, learn areas as-needed. You may have some missing areas of knowledge - but you can always learn these if your curious.
ThockiestBoard · 2022-02-25 04:15
I agree, OP seems to have enough under their belt to start working. Points of friction will find you as you use Emacs, don’t worry :)
stuudente · 2022-02-25 04:19
Program in emacs lisp.
ndamee · 2022-02-25 04:31
Are there things you would change in emacs? Learn Elisp and write your own extensions. An advanced user can create his own editing environment with Emacs which works just the way he likes it. This is why it is worth it to use Emacs.
Alan_Shutko · 2022-02-25 04:46
This is a really good approach. At this point, having used Emacs for decades, I know a lot of things. I think elisp is a very useful tool and may be the key. But I didn't sit down and decide to learn it. Instead, I ran across a need, learned just enough to figure something out. And then eventually it adds up.
nononoko · 2022-02-25 05:50
The one skill that helped me the most was understanding how to find help and documentation within emacs
xircon · 2022-02-25 08:19
When you can control the butterfly, you will be considered a master.
ideasman_42 · 2022-02-25 10:57
Exactly (although I've only been using Emacs for ~5 years), I've now written quite a few of my own emacs packages - but never set out to do so, each time I was scratching an itch... if someone else had written equivalent packages I would have used those.
jsled · 2022-02-25 11:06
There is no value in being an "advanced Emacs user" for its own sake. There is value in knowing how to solve your problems with emacs. Encounter more and bigger problems, and figure out how to solve them using emacs. That's basically it.
Fit_Dragonfruit_574 · 2022-02-25 14:01
butterfly?
xircon · 2022-02-25 15:24
https://xkcd.com/378/
Horrih · 2022-02-25 17:31
For me the real deal was doing the built in tutorial for emacs-lisp (really detailed and interactive) Before that i only copy pasted code snippets from random tutorials without knowing how to modify it. Most of the time the snippet worked but the rest of the time i was at a loss. That + using C-h k to see Which function is bound to a key, and then Tab + enter to view the elisp source code really was a step up. It enables you to understand precisely what the function does and modify it if needed
00-11 · 2022-02-25 18:10
Considered by who? (Why?)
00-11 · 2022-02-25 18:11
And how white?
00-11 · 2022-02-25 18:13
This. Amen. Learn how to **Ask Emacs**. (Includes learning how to use Elisp to Ask Emacs.)
00-11 · 2022-02-25 18:15
When you accept that the butterfly controls you, and you appreciate the little knowledge you have of how and why it does so. There is no control of the butterfly.
Status-Detective-783 · 2022-02-25 20:02
>learning how to use Elisp to Ask Emacs Can you expand on that? I'm somewhat near what OP's level is. I do see the value of using the internal documentation, and I go there often though still somewhat clumsily. So I understand the use case for using emacs standard interactive commands for using the internal documentation. But what is the use case for using elisp to ask emacs for help?
Status-Detective-783 · 2022-02-25 20:06
I'm close to where you are in the newbie stage. Have you delved into org mode? I think that might be your next biggest bang for the buck. You also need to have a project, something that you're working on. Preferably something that doesn't require that you finish fast, so you don't cheat. You have time to play around and think "what's the best way to solve this problem that I'm having with emacs?". For me, that project is using org mode to track and organize my org mode and emacs learning. Simply putting down all the bindings and ideas that I'm learning, a record of all that in an outline. From there I started adding in to do items and then scheduled to do items and started working with the agenda. All the while, continuing to add new things to my emacs cheat sheet outline. I realized that I needed to be faster with the keyboard on my operating system as well, so I created an MS Windows cheat sheet and a Mac OS cheat sheet, including a Google Chrome cheat sheet so I can be faster on those products. Then throwing all the various to do's for what I want to do next with emacs, some of them being in the SOMEDAY category. Now that I've got a rudimentary set of Todo items and an agenda, I'm looking into integrating emacs with Google calendar. And of course, you want to look at the various extension packages like Ido, Ivy, Avi, helm, etc. Especially if you're using plain vanilla emacs, you're going to want to delve into your .emacs or init.el. (I don't know about other configurations like spacemacs or Doom). And sometimes I'll think, well could emacs possibly do "this thing I'd like to see"? And of course, the answer is most likely yes. And on and on and on...
00-11 · 2022-02-26 03:37
Glad you asked - good question. I meant things like using the debugger (`M-x debug-on-entry`, `M-x set-variable debug-on-error RET t`), setting and checking variable values, using evaluation commands such as `pp-eval-expression`, reading source code to see what a function does and how it does it, etc. The Emacs help commands (`C-h` etc.) are a great starting point. They're essential. This includes the `apropos` commands. And it even includes search commands such as `grep`, `occur`, and the `find-dired` commands. They're not just for finding stuff in your own text or code; you can use them to **ask Emacs** about its own code or current state. But it really helps to also be able to look under the hood, to see what a given command or other function does, to understand why it behaves as it does. Pretty much *every Emacs tool you discover can be used on Emacs itself*, i.e., it can be used to **Ask Emacs** something about what it's doing, how it's doing it, why it's doing it, etc.
Status-Detective-783 · 2022-02-26 04:44
Thanks for the clarification! (Evidently, it's emacs all the way down.)
Keybug · 2022-02-27 17:07
I find levitation useful but sadly have so far been unable to make my keyboard levitate alongside ...