I hope my question makes sense.
I am using Doom Emacs for a while now and have become fairly proficient. But I feel like whenever I am browsing emacs content online there are still many topics for me to discover. So I was wondering if there is anything that I might be “missing” yet which might help with my productivity or improve my development skills.
Sofar I what have learned, on top from my head:
- Org/Org Agenda (refile etc.)
- Magit
- Vterm
- LSP Commands
- Multiple Cursors
- Literal Config
- Navigating Emacs itself (which key, debugging, reading Emacs-Lisp (abit))
- Using Language specific commands, i.e. send buffer to repl
- Using Undo with Vundo
Only thing I know that I still need to learn is beeing more proficient with vim keybindings, but with that I know where to start.
I know the question is quite broad, but maybe there some “killer features” worth to explore which I am not aware of yet.
I’d appreciate any input.
How can I become a more “proficient” Emacs user?
Just use it. It is that simple.
I also suggest being patient and looking up the documentation and the built-in help whenever you have a problem.
Don’t fall into some of the common pitfalls I see people here do often:
Don’t insist on super customized Emacs according to your liking from the early beginning. Be patient, and do stuff Emacs way, or live with some more irritated moments, and leave minutiae customization for later, when you are more familiar with Emacs. Emas is to be customized by each and every one and bent to your needs and personality, but it may take some deeper knowledge of Emacs in some areas, so to save yourself some frustration and lots of time, proceed gently at customizing Emacs in the beginning. This will probably be a somewhat controversial tip for some people, but what I mean is, prefer to do the work you have to be done, over how you do it in Emacs. In the beginning, bend yourself around Emacs, and keep in mind, that the more you are used to Emacs, it will be easier and faster to bend Emacs around you.
Yes, there are many tips and stuff accumulated on the Internet, but you can not learn everything at once. With the amount of information available, it is probably better to concentrate on using Emacs to do your work, and focus on exploring only those topics that give you the most in terms of how you perform your work; for example to solve some very irritating thing or to automate something, etc. You don’t have to start using Emacs for everything immediately, let it come with the time as you are getting more and more used to Emacs. What might be a killer feature for someone, might not be a killer feature for yourself.
Being popular does not always mean very good. Popularity goes in waves. You can spend all your time just re-learning “popular” frameworks and things. Instead of focusing on which package you should use for this or that; choose one and just use it. Once you find some true shortcoming that irritates you, than look for another package or for tips on how to change it, etc. If you are using Doom, I am quite sure they have already included something that is good for most people. I personally just use whatever is default in Emacs and have had no issues with it; for like 25 years now, or something there and counting.
Things I’d recommend checking out:
- start using dired as a file manager.
- get comfortable with macros.
- hyperbole as a bookmark manager on steroids (specifically explicit buttons).
- find a templating system for standard document/code generation (I use yasnippet after failing to make sense of srecode).
- write an interactive emacs lisp function to solve a text editing problem; extra credit for clever use of temporary buffers.