388
218
Mikeb85
Honestly, I never really had that much love for Emacs until relatively recently. I've always dabbled due to it generally having good support for most languages (including esoteric ones) but recently I got into it a lot more due to the fact that many of the new-ish OSS editors but Emacs has always been there and likely will always be there.

A few years back I got into Atom quite a bit since it checked all the boxes: extensible, open source, and it was very nice. Then VSCode killed it. And it seems more and more that VSCode is taking over, all the while inserting more proprietary code to the point where half the 'big' plugins don't work on Codium, only the proprietary MS distribution.

So I got back into Emacs but really worked on my environment. Stopped dabbling and started just forcing myself to use it. And it's honestly amazing. It checks off every box available in VSCode and more. And it's nice knowing that it'll always be there. I'm not against proprietary software per-se, but I definitely don't have a lot of trust in Microsoft.

ripe
For people who ask, "why use text-only editors like vim or Emacs, when I can use a full GUI IDE?":

One of the reasons I haven't seen mentioned much is: I'm a touch typist, and I hate having to switch between mouse and keyboard! I have to take my attention off the screen. Slows me down. Disturbs my concentration.

With Emacs, I can work for hours without ever having to hunt for the mouse, or without even having a mouse plugged in. That's particularly nice for using my Ubuntu laptop on a lap desk, leaning back in my armchair. The best mouse is no mouse at all.

Yes, I know many IDEs have shortcut keys for some commands, but the basic assumption with GUI applications is that you have a mouse. Even if you learn the shortcuts, somehow you always end up having to use the mouse for some common task, e.g., to select a paragraph. That's why I never got to like a GUI IDE, despite having had to use Eclipse for years.

justinhj
Great to see lists like these. I’m a long time Emacs user and recently learned to use neovim. I made the same mistake many new Emacs users make in that I installed a lot of plugins at once and lost control of the editor. Only by installing packages incrementally after you have discovered a real need, can you keep mentally on top of what your editor is capable of.
inetsee
I love emacs because of org-mode. I have sometimes wondered whether emacs can do something I have often wanted. I write poetry. If you write with pencil on paper the edit marks (line through, move text, insert) let you see the evolution of a work. It's hard to get the same effect with a text editor. After reading this web post I went searching for "emacs edit history" and I discovered "undo-tree". This is a perfect functionality for my use case, and another reason for me to love emacs.
submeta
After spending endless hours in learning the ins and outs of Emacs and starting to learn Elisp, I come to realize that Emacs‘ tinkering-to-doing ratio is too high. I need tools that get out of my way. Emacs can get a hobby or an obsession. If you have nothing else to do, fine, spend your time sharpening the saw instead of cutting wood.

I turned to VS Code + PyCharm for coding. And use Emacs for editing text only. And for that, it is excellent.

What I love about Emacs most is the macro recorder. Whenever I have to transform text, I record my steps in Emacs‘ macro recorder and replay the steps. That’s like magic. I wouldn‘t even bother writing a Python script for these one-off transformations.

clircle
BTW, the author is using the Modus Operandi theme for Emacs. It's really easy on the eyes (high contrast) and comprehensive. Oh, and it's beautiful.

Shout out to Prot who maintains it.

animal_spirits
Sometimes I wish I initially spent my time learning emacs. Vim has been great to me. I don't value programming workflows as much as I used to so I'm not going through that steep learning curve again
jb1991
Amazing that I have not used emacs in years but I wanted to see this artist mode with my own eyes, so I opened it and was surprised I could still remember how to get all around with the m-x commands... my muscle memory even remembered the combo to exit emacs correctly, and even as I type this, I couldn't tell you what that key combo is! It's all in my finger muscles' memory. Incredible.
mlaretallack
I really respect people who can use emacs (and vim, vi etc...) they wiz around doing allsorts and make it look effortless.

The only reason I have not tried is I seem to spend most of my time thinking about the change, and the time saved is easily wiped out by the time taked to re-write the line 5 times.

Blackthorn
Oh damn, I had no idea about undo-in-region. That's so convenient and it comes with Emacs stock. Wish I knew about that years ago.
bloopernova
I've been using Emacs for about 4 years now, and some of the stuff on this list was news to me. Thank you, OP, for sharing this; I found it useful!
pama
Some of the very recently upgraded batteries in standard emacs include describe-bindings (C-h b gives a neatly organized, foldable output that greatly enhances discoverability) and emoji-insert that uses a neat selection interface.
entropie
I use emacs for over a decade now. It took like 2 years and 3 serious approaches to get into it. Now it feels like home.

I didn't know about SelectiveUndo. Nice.

chewxy
I'm quite annoyed. I was working on a minor-mode because I tire of having to switch to my browser for asciiflow. Reading this article, it turns out artist-mode is built in to stock emacs. And it's quite good, better than anything I could build.

Discoverability problem? You don't say?

teddyh
I think many Vim users look at Emacs and go “Hmm, Emacs is a bit more clunky when I use Emacs to do the exact same things I do in Vim. Therefore, I’ll stick to Vim.”
adriancr
This is what I like about emacs see a few nifty things, easily add shortcuts and integrate, (selective-mode is useful for an outline of a file).

Power comes from being able to customize - add a easy shortcut to show outline, add another to back to non-outlined. Then use these to jump around code.

timonoko
BTW. You do not need typing skills with Emacs, because it has an autocomplete. And it is subject and writer specific. Firstly you load some text containing words you want to use in another buffer and then you bind M-X hippie-expand to some convenient key. I use (global-set-key (kbd "å") 'hippie-expand) because Swedish å is useless in Finnish keyboard.

This works even better with languages with varying form and spelling. Finnish Android autocomplete gives mostly annoying and mispelled suggestions, but in Emacs you can use your own writings as the sublime storage of words.

b3morales
That inward-spiralling learning curve never ends. `selective-display' is my new trick for the day. Thanks!
gjvc
https://prelude.emacsredux.com/en/latest/ and https://github.com/ianyepan/jetbrains-darcula-emacs-theme were the two "game-changers" for me getting me comfortable in emacs.
fermentation
I've always wanted to get into emacs, but I only have enough room in my life for a single set of keybinds, and vim has taken that spot. A lot of the emacs-for-vim-people projects are these huge distributions and when something breaks I have no idea how to fix it. Do any of you have a good resource for learning emacs from the ground up, but with vim keybinds?
fhd2
Some cool stuff I had no idea exists! But I can't see anything I feel like picking up, I do like to keep it simple. I switched to Emacs after something like six years as a vim user, primarily for the more beginner friendly key bindings so my coworkers wouldn't get _too_ freaked out. Many of the navigation shortcuts work in most shells and even all text fields in macOS out of the box too!

I did implement all kinds of funky customisations at first, but in the last years I stuck mostly to what comes with Emacs, and customize over writing Elisp. I do some work in IntelliJ and Xcode out of necessity, but there's nothing quite as productive for me as vanilla Emacs and ansi-term. It's all just text - and mastering how to deal with text doesn't take that long, and is fairly universal.

One of my favourite and most trivial habits is to use forward/backward search extensively for navigating around a file.

cfjgvjh
As someone that has always wanted to try stock emacs, this kind of a breakdown is appreciated. I know the individual systems aren't all that complex but when you're new to almost all of them it gets overwhelming quickly.
worik
For me the killer aspect of Emacs (it applies even more to vi) is being able to use it in a terminal so being able to use it over a network connection.

I know X can export over a network connection, but text mode Emacs is much simpler and does not require X.

dylan604
Batteries may be included, but some assembly is definitely required in learning all of the commands to make it useful.

I'm sure vim and emacs were great tools back when monochrome monitors were all that were available. But with modern UI IDEs and what not, I only use vim when need to make fast and dirty changes directly on the server. I do find all of things that can be done in emacs/vim quite impressive, but I'm also quite happy that it is not the tool I have to use because nothing else is available.

I do find myself getting environments backwards in my head though when flipping back and forth quickly. Like typing :wq in my IDE, or cmd-s in vim when prompts my terminal to save my session.

dhersz
Is there a vim/tmux feature similar to pulse? I do lose my cursor sometimes when switching panes and I'd love to try something pulse-like to see if I like it.
meken
Last time I was coding, I used vim+tmux. I found terminal emulation in emacs slow and buggy.

I do always have a spacemacs window open, but I only use it for magit.

luxcem
I used emacs for a number of years and recently switched to doom-emacs as a base configuration. I got tired up of trying to fit together many packages and I found that doom is highly customizable but with sane and polished default.

I can recommend it to anyone that tried emacs but didn't like it.

Woodi
Ok, that was best text about Emacs I read so far. Looks like new genre even. Anything I met before is about TAB key and how to configure its scripting :> Or maybe it is lack of intermediate texts about Emacs [features] ?
stinos
Perhaps not the right thread, but: is there anything like 'follow mode' in other editors like Sublime Text/VSCode/Visual Studio editor? I'm now emulating that with e.g. 'new view into file' followed by manually scrolling. Having that autoamtic can be really handy.
emodendroket
Emacs is really just a beautiful refutation of the "Unix philosophy" that programs should only ever do one specialized thing. It's a kitchen-sink tool and it's very useful, and has been for decades.
azalemeth
That text drawing mode is beautiful. Or of curiosity, entirely because my vim knowledge is far greater than that of Emacs, is there anything like it for vim, including two button mouse support?
Kessler83
Great article! I like the approach to focus on things that ship per default and take no time to learn! Also didn't know about undo in region!
rStar
emacs is like a musical instrument in program form. one is only limited by their creativity.
taeric
Very well done demos of some fun packages in emacs. Thanks!
baby
I’m wondering if a vscode in the terminal could ever exist.