reddit / emacs

Convince me to use emacs (or doom emacs)

IcePhoneX_ · 2022-04-30 06:11
I'm a neovim user and I'm starting to get more serious about coding (js and rust for the most part). Try convincing me to use emacs or doom emacs, I'm not into the editor war, I'm just curious so yeah
lebensterben · 2022-04-30 06:19
No, you don't have to.
mauguro_ · 2022-04-30 06:19
magit
7890yuiop · 2022-04-30 06:22
You should use emacs (or doom emacs).
__infi__ · 2022-04-30 06:22
Try it out, or don't. It's good but it's not our job to evangelize it to a random internet fellow when there's so much content out there for you to try and judge for yourself.
amiralul · 2022-04-30 06:36
org-mode
Such-Neighborhood-34 · 2022-04-30 06:39
Considering Emacs has evil mode, there is no excuse for not using it. It’s vim, plus all the other stuff.
nv-elisp · 2022-04-30 06:50
Convince me as to why I should convince you.
Horrih · 2022-04-30 06:51
If you want a simple out of the box experience neovim is probably enough. The following might be arguments to switch : - with the evil package, you get vim keybindings : no real adaptation period - the package ecosystem is bigger than for vim - you can change anything you don't like, *really* easily. There are also two "killer feature" packages - magit, a text based git client. So powerful and easy to use once you get the bindings remembered. Indeed, i switched to vs code for a few years back at work but kept an emacs + magit as git client.. - org mode : notes taking, todolist, agenda, etc... In brief : if you want to try out a few packages, try switching to doom If you want the DIY experience, try vanilla emacs and hand pick your own packages Else stay with neovim
arpple-bog · 2022-04-30 07:11
in shorts: I like vim style and emacs can extend it to other thing than file as well long: what I like in doom-emacs - evil mode = I like vim style editing - magit = I can do every git thing with just keyboard and it show thing just like GUI client - treemacs = vscode also have fuzzy file search but lots of time I want to navigate through tree structured directory - other navigation like evil-snipe, swiper - why not nvim? = I find doom-emacs command is easier to remember than :xfsfa style of vim I don’t do much configuration and I use terminal outside emacs as I find any term in emacs weird in text and key but I can easily switch to it with i3 wm
IcePhoneX_ · 2022-04-30 08:09
Hmmm if you convince me i'll give u a cookie
IcePhoneX_ · 2022-04-30 08:10
Most convicing reply so far
IcePhoneX_ · 2022-04-30 08:10
Thank you c:
Tredxcvbnhgg · 2022-04-30 09:08
If you want improve your coding, work on that. Don’t add other variables, like changing your editor, at the same time.
UnidentifiedSkinny · 2022-04-30 09:33
Having been a user of neovim, emacs, and (more recently) doom emacs, in terms of programming, I honestly don't think there's much of an inherent quality difference. They've largely reached feature parity in terms of good LSP support and "configurability"— especially given that both have relatively feature-complete / high-level extension languages, namely Emacs Lisp and Lua. I mainly use emacs because I think editing in elisp is really fun, and org / org-roam is a killer feature for me.
tech_addictede · 2022-04-30 10:29
Magit, evil, ease of setup for many languages. Tree sitter support around the corner.
SaggingLeftNut · 2022-04-30 10:58
I don't give a shit what editor you use. But its interesting that you've convinced yourself that everyone does.
_noctuid · 2022-04-30 11:21
> the package ecosystem is bigger than for vim You could argue it's better, but I highly doubt there are more Emacs packages if that's what you mean. Vim and neovim are far more popular. They have one billion versions of every potential package (e.g. so many completion packages, auto-pairing packages, package managers, etc.), but this is arguably not a good thing (choice paralysis and a lot more duplicated effort between projects).
total-antler-insurer · 2022-04-30 12:01
I went from neovim to Doom Emacs about 2 years ago. The main draws for me were org mode, magit, and the idea of doing “everything” in Emacs. If those appeal to you, try out Doom. It only took me a few days to get accustomed to it and be just as productive with Doom as I was with neovim. Org mode is such an amazing feature. In just a couple of keystrokes I can go from writing code to writing a note to myself, link that note to the code I’m writing, set a reminder for that note, and get right back to coding. Same tool, so it feels like no context switching.
WorldsEndless · 2022-04-30 12:50
Good advice. On the flip side, I have found emacs to be a very powerful learning tool for picking up other technologies, especially where there are emacs libraries to guide you. Emacs does wrappers well, yet very transparently, so it's easy for me eg to learn from Magit "oh, merge resolution, tagging, commit amendment" etc, and easily find the git commands that power those features. Learning style and bandwidth plays a lot here, but for some of us, emacs (and repl-experiences in general since emacs is just a big elisp repl emphasizing text editing) is itself a superb learning tool
WorldsEndless · 2022-04-30 12:56
Philosophy about editor is one of my hiring interview questions. True, it doesn't matter which you use -- but a good programmer needs to master his tool whatever it is. Learn the shortcuts, nuances, and how to customize and extend it. I recommend emacs to many of my hires because that's what I use, so I can more readily help them on this journey to mastery and customization. But to be fair, neo-vim probably has a big payoff for mastery, too
ftrx · 2022-04-30 13:09
If you are curious about why Emacs, my answer is: as a NeoVimmer (from an ex hardcore Vimmer) *Vim is a companion of Unix ecosystem, Emacs is another ecosystem. These days we haven't LispM anymore, so Emacs lacks hw/kernel to be an OS and therefore is just an OE (Operating Environment) of a classic desktop model. Unix is a 1D/CLI environment who happen to have discovered that 2D environments are needed and GUIs are not such unproductive bad things. Emacs offer a text-centric GUI, witch means the power of a GUI+the power of a CLI, more than that Emacs is a single ecosystem where anything is a function so you do not need IPCs to chain together programs (as a kind-of black-box functions) you just call them, the same language of Emacs is also the language of it's config and of your scripts witch happen to be just functions. *Inside* Emacs you can have emails, with GMail like *local* search, tagging etc, links to them both for messages/threads and generic queries like a common unread list of all your mailboxes. You can have file org-attached, so instead of maintain a curated home taxonomy you can access them in a search&narrow style, not just mere files but notes, you can org-ql query them so for instance you can instantaneously get your last fiscal declaration of all set of works done subjected to tax discount in a click, you can have a project note who link/contain contact of other devs, discussion with them, open issues, past issues, commits etc all integrated together because our life is unique not a set of boxes. If you are curious look for some showcases on YT, I suggest to start with: https://youtu.be/B6jfrrwR10k
Grisk13 · 2022-04-30 13:31
This. Don’t participate in the holy war. You’ll learn a ton from Emacs. You’ll probably also be incredibly frustrated by it just as often as you’re amazed. It’s a program, not a savior.
Due-Low2684 · 2022-04-30 14:00
No one will force you to use Emacs(doom Emacs). Use for a month then come back to this thread and share your experiences. You will feel the difference. And always the Emacs community is there to help in case you need any .
IcePhoneX_ · 2022-04-30 15:40
Wasn't trying to say something interesting, i was asking for help but yeah. "Convince me" meant "should I"
00-11 · 2022-04-30 15:42
Nah, I don't think so. We get such a post here every so often. If you're interested, *do your own homework*. Maybe start by ***trying it***?!? Or not.
mklsls · 2022-04-30 16:15
If you need that someone else convince you, please don't use Emacs. However, if you are genuinely curious, the whole editor worth it just for magit and org-mode.
IcePhoneX_ · 2022-04-30 16:21
I am curious, just trying to make my post sound more interesting, I wanted to say "should I" considering my situation but many people interpreted this in a bad way :c
mklsls · 2022-04-30 16:52
I get it. At least for me, in the first read of your post I couldn't get your idea clear enough. Anyway, try emacs, make a lot of mistakes and ask a lot. Always there will be friendly people with the same question than you or even better with some solution. Remember, learning Emacs requires time and commitment. So, go slow.
IcePhoneX_ · 2022-04-30 16:53
Thanks you man, I will try to use it
timmymayes · 2022-04-30 16:58
As someone in the Odin project boot camp that has chosen emacs as their ide, I love hearing anecdotes like this. My biggest worry is that my love of emacs will hinder me in getting and performing at my first job. Meaning I'm using emacs but get a job where I'm not allowed to use it.
timmymayes · 2022-04-30 17:02
I'm new to emacs and coding. My take is this. I'm a tinkerer and over-engineer when it comes to my tools. I 3d printed and hand wired a qmk compatible keyboard and wrote a config with 6 layers, tap dance keys and macros. Emacs let's you change and automate things exactly how you want them. It's an environment that will grow with you through life and will be available anywhere you need it.
IcePhoneX_ · 2022-04-30 17:10
I want something where I can use 1 configuration and stick to it if i want and not 36 files (like my nvim setup where i have nvim, ranger, i3, tmux, etc) if emacs can do all of that, then I'll try it
timmymayes · 2022-04-30 18:14
The configuration setup for emacs is in .el files or emacs lisp files. However the best way to do it seems to be as a .org file which is a markdown file with nested sections. Org files can include code blocks that are executable. Most important however is the tangle function that lets you tangle code blocks based on the language type. That essentially means you output the code blocks for your config into say init.el and that is your actual config file. This lets me have 1 big config file for editing and maintaining all with markdown nested organization. My IDE Section controls all of my programming features but has sub sections for language specific configuration. Over time as you learn emacs you can then begin to incorporate many of the things you do into one place all with the same config and keybindings. All of it extensible with elisp. * Text editing out of the box * Modes for every coding language you need * Org for note taking, tasks, journaling, presentations, managing your config etc * mu4e for mail * magit for easy and powerful git management * yas for snippets * repl for grabbing and testing snippets. The list goes on an on. And its all keyboard driven, and its all text. This has some real implications on the flexibility of implementing various solutions. The cherry on the top for you is it has evil mode so you don't have to stray away from your preferred navigational bindings. Personally I need to eventually get on board with some modal editing. I may learn vim but I also found a great blog about writing your own lightweight modal editing system, and quite simply too. I know neo vim does have some integrations and more than just a text editor functionality, but I'm not super aware of it. I have heard the scripting language for it is a little meh. Considering I am trying to learn and understand elsip as I go for being able to modify things as I want in the future this is important to me.
IcePhoneX_ · 2022-04-30 18:52
I see, the environment seems very convinient in itself, but where/how did you learn elisp? I don't find good tutorials on ytb
timmymayes · 2022-04-30 19:38
I'm still very much learning. I just started about a week or so ago. I'm using the [emacs from scratch](https://www.youtube.com/watch?v=74zOY-vgkyw&list=PLEoMzSkcN8oPH1au7H6B7bBJ4ZO7BXjSZ)series from system crafters. I also just bought Mastering emacs e-book from Mickey Peterson. I read a few of his articles and liked his style of teaching/explaining. I haven't yet dug in hard there yet and it isn't cheap. however I like having a pdf on my ipad for reading about things away from my pc.
IcePhoneX_ · 2022-04-30 19:39
Thanks, i'll check it rn c:
klikklakvege · 2022-05-01 00:06
I think neovim's scripting support is so good now that one can do an excellent emacs out of it. Or preferably a better emacs. So you can check out how life on emacs look like to understand what is to be done on neovim. Doom emacs is just some popular config out there. Could also be done something similar on neovim, i think it's just one of many examples. But emacs is emacs
frozeninfate · 2022-05-01 04:09
If you are the kind of neovim user using latest version with all the new lua plugins like I was, you'll probably like emacs after some customization. When I initially switched, I was able to replicate my entire neovim setup in emacs, and gradually introduce other emacs features into my workflow. Oh also, if you try emacs, use the GUI. GUI emacs is a far better experience than terminal emacs. Coming from neovim, whose GUIs are just emulating the TUI, its a big difference.
SaggingLeftNut · 2022-05-01 05:03
That's interesting. I would not be prepared for such a question in an interview. I use emacs because its the first editor I learned to use and its always served my needs. But here I argue that a formal job interview is a far different situation then responding to some random on reddit that's demanding an explanation.
WorldsEndless · 2022-05-01 05:29
The be fair, this is student employment, so different stakes than a full time gig. But it is important that they think about their editor, knowing that it's not a concept they typically have had directly addressed before, but which is vital to our work.
SaggingLeftNut · 2022-05-01 07:23
I agree that its important to use the best tool for the job but in my experience in the industry everyone follows the herd. That is to say they use the industry standard tools and few ever second guess it. You don't get a pat on the back or extra recognition for being more efficient, you just get more work assigned to your team. That's one of the many drawbacks of the agile model.
WorldsEndless · 2022-05-01 12:11
Thanks for sharing your experience. It makes me happier to work in education, where producing excellent developers in a goal I'm gladly allowed.
WorldsEndless · 2022-05-02 20:23
I'm curious (especially after all the "don't require anything!" comments here), how many actually run in to something like this.
timmymayes · 2022-05-02 21:47
I'll let you know when I get into interviewing. That's still probably 6-8 months out depending.