- cross-posted to:
- [email protected]
My Emacs has been evolving for over a decade, and I expect to be cremated with a copy of my config.
I’ve been using Emacs for well over 30 years, but I’ve declared .emacs bankruptcy once a decade on average.
While I’m Emacsposting, my favourite trivia, which unfortunately is no longer true for a couple of versions:
Because starting Emacs from scratch took quite a long time, thanks to copious amounts of elisp that needed to be executed every time, they implemented a clever shortcut to avoid this long startup: Start up emacs at the end of the build process and then have it dump core, then load this coredump when the user executes Emacs.
In case someone doesn’t know what a coredump (aka memory or crash dump) is, it is a snapshot image of a process’s memory, written to a file. Most commonly taken when the program crashes, so as to facilitate debugging the cause of the crash. Re-loading the core dump basically allowed Emacs to start right back where it had deliberately crashed, thus skipping a bunch of its slow initialization.
Every time I sit there waiting for Civilization to load I wonder why games and other slow-to-start programs don’t do this, but by all accounts this was quite hacky and considered an abuse of the coredump feature.
Loading dumped images was and is pretty common in the Lisp world. The old emacs dumper might have been extra hacky, though.
https://dancol.org/pdumperpres.pdf
This seems to be a presentation on the new “portable” dumper, which seems to not rely on any OS features (i.e. unexec) but seems to dump the lisp objects one by one. The presentation does not call it serialization but I think it’s basically the same idea.
ed is the standard text editor
nano

emacs

ed

Escape
Meta
Alt
Control
ShiftEvery now and then I think of trying Emacs again. When I got enough into scripting that I needed to pick a decent text editor, I hesitated a while between vim and emacs. I tried both and settled on the prior, partly because it was more lightwight and partly because I started playing Nethack at the same time and figured learning one skillset for both was more efficient.
Tbh, I’m quite satisfied with neovim, and the main reason I keep thinking back to Emacs is ideological (it’s ties to the Free Software movement and such). But I’m also curious because I’ve heard it had so many features it could basically replace most of your OS… But does it do all these things well? Is a workstation using all of Emacs feature rather than a different program for each feature still something worthwhile?
Every now and then I think of trying Emacs again.
Go for it! But beware: The earlier you start the longer you need to learn (the rest of your life
)I’ve also started with vim and switched to emacs later. It’s definitely very bloated - I mean which other text editor ships with 2 email clients, 2 IRC clients, a web browser, Tetris, and a reverse polish notation calculator? But it’s also got a few features it does really well that makes it irreplaceable, like the ability to document itself, magit, dired, multiple cursors, vterm etc.
I started playing Nethack at the same time and figured learning one skillset for both was more efficient.
I’m not familiar with nethack, but if this is about keybinds, then check out evil-mode for emacs (vim keybinds).
But I’m also curious because I’ve heard it had so many features it could basically replace most of your OS… But does it do all these things well?
In my experience, no. There are plugins that for example let it replace your window manager, but because emacs is single threaded, you entire computer hangs when ever emacs hangs (and it does hang a lot lol). For me the OS is just a bootloader for emacs and my Webbrowser anyways.
Thank you for your explanations! This sounds like a fun learning journey, so I’ll try.
if you got any questions feel free to dm meThanks comrade

I use Emacs because everything else is strictly worse. Vim doesn’t have support for reading documents and images so I have to go outside of my flow state to hop to another window. Other text editors don’t have remote editing that isn’t vscode downloading vscode onto your remote machine (emacs’ tramp uses shell commands with zero remote binaries). No text editor has the ability to present a directory view of an ls command and allow you to make changes by directly writing into the buffer (emacs wdired). Finally, no text editors has magit which is the only thing that makes git part of your editing flow instead of the chore you do after your work.
Also no text editor has an AI therapist (port of Eliza in emacs doctor) that doesn’t destroy the environment.
This (and the other comments) has pushed me to learn more about how to use emacs (well, specifically spacemacs as that’s what I have installed). I’ve only just learnt like 2, 3?, things and I’m already twice as powerful.
ⓘ This user is suspected of being a cat. Please report any suspicious behavior.
magit is genuinely why I can’t leave Emacs despite all of its idiosyncrasies (which is getting better with Emacs 31 and its starter preset). The ability to view your work as a diff on a side window alongside your editing window has allowed me to think critically about what changes I’m making as I’m making them. Without it, I just get lost in the sauce of what I’m doing and end up making 12 unrelated changes that I have to sort through after the fact before giving up and making a commit that’s just “Progress <date>”.
Starter kits are great for getting your feet wet but don’t be afraid to declare emacs bankruptcy and start your own config with the things you’ve learned. Seasoned Emacs gurus have 10,000 line configs and they still declare bankruptcy to see what they really need and what they don’t. I recommend learning each “app” of Emacs as you go at a time (tramp is my legit favorite this thing lets me remotely edit/do sysadmin stuff on 3 remote machines simultaneously without breaking a sweat, imagine being able to scp into a remote machine while using another remote machine as an ssh hop just via a keybind).
deleted by creator
But does it do all these things well? Is a workstation using all of Emacs feature rather than a different program for each feature still something worthwhile?
Really depends on what you mean by “well”.
I like email. I like reading it and managing it as text. Emacs does this perfectly for me. If you dont like treating it as text, then you won’t like it.
I like writing latex and previewing PDFs. Emacs does this perfectly for me. I like using org møde so I dont have to think about latex. Emacs is perfect. If you dont like latex, PDFs, or prefer a WYSIWYG editor, then you won’t like it.
I like the shell, and shell multiplexing. I like having familiar keybindings. So I use vterm as my shell multiplexer. But really I just use emacs. Shell scripting isnt super useful for me because of emacs.
Its not good or bad. Its just your use case. But, I will say, having the same keybindings everywhere is reason enough to check it out.
That’s an interesting way of seeing it. I mostly built my current workflow with the idea of “one program for one thing”, with the terminal at the center, and with the i3 wm to efficiently organise my terminal windows, so for example when using Latex, having one terminal where I write in vim and another where I run pdflatex and zathura in a third window doesn’t seem like much of a problem. However, opening a program which itself has several windows seems to make stuff more complicated because they don’t always behave like i3 windows of the currently selected mode.
I guess if I skipped to emacs, I’d probay ditch i3 and build my workflow around emacs itself…












