Hello and thank you for reading this. I’m starting my journey to study Emacs, and I’m interested in turning Emacs in my IDE (mainly C, C++, JavaScript, Rust, and Python, etc…) and taking notes. Could you please give me your best suggestion on how to accomplish my goals? Thank you once more, and have a wonderful day/night.
:^
Start with vanilla emacs, watch and follow system cafter’s “emacs from scratch series”
Be resourceful. Documentation, search engines, then support forums.
First off know that it will take time for everything to click and that is ok. One day you’ll go from struggling and annoyance and at various stages you’ll level up and what was once weird or annoying will become easy.
My biggest tips are:
- As /u/Horrih recommended, start with vanilla nd use system crafters series. I found this invaluable as I wanted to know emacs inside and out, not just get it working.
- Mastering Emacs book is a nice consolidation for a fair price. If you can spare some cash its well worth it. You can start with various blog articles to see if you like how the author presents things: https://www.masteringemacs.org/all-articles
- Learn elisp via the built in info docs “Emacs Lisp Intro” you can find this via
C-H i
- Org mode is freaking awesome. Initially when I started with emacs for coding I was still using Notion and a few other organization/note apps. I’m fully Org and Org-Roam now and not only do I vastly prefer it, I now own all my data, and it is all in plaintext.
- After you get a decent base setup going it can be very easy to fall into bike shedding and continually improving/working on your setup. To solve this keep a separate todo/project list (i do this via a dedicated org file for my config wants/needs/reminders) and block time to work on it rather than doing this continually. It’s an easy trap to fall into.
- Niche / Specific Bonus Tips that are huge for me
- If you’re not going modal / evil mode (I do not) then figure out your solution to “ctrl” pinky. I found this odd as throughout life I never used my pinky. I press ctrl with the edge of my palm. Many do a rebinding to caps lock.
- If you’re in a financially ok spot, or have some tendencies towards making things yourself. I highly recommend making or buying a mechanical keyboard with thumb clusters. While you could use the thumb for Ctrl binding (as mentioned above) I do this for a different reason - Additional modifier keys. See my next tip.
- Utilize Hyper and Super. If you’re on windows super is a bit more annoying to work with but it is doable. On Linux its totally workable. I have Hyper and Super setup on my thumb clusters and use this to help me add 2 extra sets of bindings which keeps more of my keypresses as + and helps me organize my configuration model. This enables a lot of combos (see below). You don’t really need a thumb cluster keyboard to do this i.e. you could map your apps key to hyper and your win key is the super key. BUT because I have the thumb cluster keys I can use my strongest digit to hit them. On top of that they are next to each other and alt in an L shape so pressing Super+Hyper+Alt or any combo of two is very easy.
- Hyper +
- Super +
- Ctrl + Hyper +
- Alt + Hyper +
- Ctrl + super +
- Alt + Super +
- etc
I know I put a lot here but if any of it intrigues you just take a note of it for the future and start simple with an initial setup and learn a bit of elisp and you’ll be off to the races!
thumb clusters
Thank you; I will look into what you have said. :^)
Org mode is freaking awesome. Initially when I started with emacs for coding I was still using Notion and a few other organization/note apps. I’m fully Org and Org-Roam now and not only do I vastly prefer it, I now own all my data, and it is all in plaintext.
How do yo deal with mobile?
I’m testing a couple of outlets here. I tend to be a very computer centric person so I’ve got my pc on at home and can step to it for quick check ins and at the office I’m on my PC. I sync everything with Sync thing and am looking to do git updates monthly.
I do have orgzly setup which I’m testing but my config is so specialized I don’t think this is the route I’ll be going full time.
For time tracking activities not when I’m not near a PC I will track time on tasks via an app and then add/update the task at home.
I was a bullet journaler for a while so I’ve been essentially doing a minimalistic mirroring of my tasks via a notebook I take with me. I also have an Ipad with apple pencil I use for hand written notes that I use. I’m sort of stuck on this point for a few reasons:
- I love the feel of pen on paper. Its just a better experience than the ipad even though that is pretty good.
- I like digital access and tools. Search text, highlight and rearange. Have a bunch of color coding at my finger tips etc.
- I do enjoy the art apps on ipad as well. When I do a napkin sketch for a game design having a diagram I can drop into an org file is kind of where I’d like to go rather than a photo of a hand written one.
- Because I do love my ipad and working on the go I am considering this setup: Mobile Emacs
So for now mobile usage is in the air but it also isn’t a lynchpin for me. I’m torn for various reasons between analog and digital handwriting. Mobile workstation with the newer model iPad has some really interesting implications too.
I just suck it up and keep todoist for tasks, org-mode for the rest.
I get that. Bullet Journal was my long time mainstay which is why that’s my fallback.
if you don’t want to jump right into configuring things from scratch, I would recommend you start with Doom Emacs.
I started with Doom Emacs (which I’ve heard is great even if you’re not an Evil user), but eventually found the abstractions frustrating and wanted to make Emacs truly my own, at which point I started over with a clean slate and now understand the configuration of my system a lot better.
I wish I’d started configuring it from scratch on my own sooner, for sure, but I don’t know that you need to do so from the outset. If you just want to get work done while slowly getting used to the Emacs workflows, a configuration system like Doom’s can make that easier. It can also welcome you into Emacs without scaring you away.
That said, the abstractions hide a lot of details of how Emacs works, so if you’re sure you’re in it for the long term and can take the time now—which is maybe what you mean by “studying Emacs”… it is a thing to study!—then by all means, start from scratch.
Either way, I’ll echo u/nv-elisp above—when you’re trying to configure something, look at the documentation and articles online before you ask questions! You’ll learn how to learn, which will help you immensely with all future problems.
I’d also recommend a couple of packages to make things easier:
- The Helpful package makes the vital and helpful
describe
commands even more… helpful. - The Vertico/Marginalia/Corfu/Embark/Orderless/Counsel set of packages greatly improve your ability to navigate around Emacs.
Good luck, and happy hacking!
- The Helpful package makes the vital and helpful
Learn to Ask Emacs. Use the Help menu in the menu-bar - get to know it well. Learn the help commands on prefix key
C-h
, includingC-h r
, which takes you to the Emacs manual, andC-h S
, which looks up a symbol (word) in that manual.Learn how to create and use keyboard macros. Over time, learn some Elisp, which is the golden key to asking Emacs.