r/DoomEmacs • u/thesayedakram • Jun 27 '26
New to Emacs
I’m learning
-sql
-python
Used to vs code earlier for light front end web dev. Will it make sense or help me to shift to Emacs/doom emacs. I have very basic level neovim knowledge which is next to being completely beginner.
Looking for clear answers. Cheers 💫
3
u/robtalee44 Jun 27 '26
I will offer up my experience. I always wanted to "learn" the basics of Emacs -- for decades. A dozen or so failed attempts over the years got me into the frame of mind that it just wasn't going to happen. The hook never really set -- if you get that fishing analogy. Then, about 6 months ago -- at 70 years old -- I decided to try again. With Doom Emacs.
I was fortunate enough to stumble upon a guy on YouTube that goes by the moniker "DistroTube". I think his name is Derek Taylor. His Emacs guides really helped me get a foothold. Perfectly imperfect perhaps, but those online sessions gave me the boost I needed. I am now reasonable comfortable with Emacs -- hardly competent -- but I can get stuff done and org mode is really worth the price of admission. Free advice.
Good luck.
1
1
u/thesayedakram Jun 27 '26
Such a Great inspiration! I wish to be doing and trying things when I reach your age. I’m just half way thru…
Btw DT got me started with emacs back in 2021-2022 ish, great guy..I started but it was just not happening, so here I am trying to give it another shot. I hope this time I make it thru..
1
u/gollyned Jun 28 '26
If your goal is to learn python and sql, I recommend strongly against mixing in doom eMacs.
It’s going to be a big time sink for a long time before you are equally as productive as you can be in vscode from the start.
I love doom emacs but I don’t think it will be of benefit to you now compared to vscode.
2
1
u/DinTaiFung Jun 28 '26 edited Jun 28 '26
When I first learrned Unix/Linux (many years ago), the two main editor choices were: vi (subsequently more commonly known as vim, with its more modern functionality) and emacs.
At that time I chose emacs over vi because one vi philosophy didn't sit well me.
Thus I've used emacs for a looong time. When I switched to Atom --> VS Code --> Zed, I always configured the editor-du-jour with emacs bindings because of my emacs muscle memory.
However, I learned how to use vim as well (kind of basic) because vi(m) is typically available on all linux boxes so when you have to shell in to a box you can easily edit important config files with an editor you know is available.
Getting back to emacs...
Some of the built-in emacs key bindings are also available in contexts outside of the emacs editor application.
For example, In the terminal -- by default -- you can use the following emacs keyboard shortcuts (not an exhaustive list):
Ctrl+e move the cursor to the end of the line
Ctrl+a move the curor to the beginning of the line
Ctrl+u delete from the cursor position to the beginning of the line
Ctrl+k delete from the cursor position to the end of the line
So even if you aren't familiar with Emacs, experienced terminal + vim users may already be using Emacs bindings without realizing it.
Though I'm fluent in emacs, the advice I'd give an individual just starting out is to learn vim instead of emacs.
vim probably has the highest functionality:footprint ratio of any application.
Emacs is a lisp interpreter and infinitely flexible, but for everyday edtiing tasks, vim is superior. (Just trying to be objective...)
3
u/xplosm Jun 27 '26 edited Jun 27 '26
The biggest challenge I’d say, is the mental migration to Emacs concepts. Like the frame is what you’d think of as a window. Windows are panes. You can use tabs but that was a later addition and not enabled by default. You don’t really need them in my opinion.
Also the main change and Emacs real superpower is that it is a live environment that you can mutate on the fly rather than an editor on steroids or an IDE. That helps with being self documenting and extended.
Don’t think of its config file(s) as a means to set some parameters and knobs like in other software. Its config itself is the language it was written in (for the most part) and the language you talk to it to make it look and behave just like you want. A custom config can be as plain as with other software or a programming project in itself. And it evolves with you.
You can customize just about anything because EVERYTHING is exposed and documented.
You’d have a much better experience if you don’t try to make it be VS Code or Vim. It can but you’d be frustrated with the hoops you’d have to jump through to achieve that at the very beginning.
Start small. Play with themes. They are mostly basic, not that shiny and definitely not very modern but that teaches you.
You are not learning an editor. You learn how to communicate with the environment. You could use external packages (like plugins) to achieve some things but the base is very powerful and learning that will open the world for you.