As much as I like this piece of software it really shows it's age and
has some ugly warts. In this rant I'll go over some of them for my own
amusement.
1 text editing sucks
====================
In vim you have to switch between two different modes to edit text
which sucks. In emacs you have to memorize and perform in some cases
really ridiculous keychords which also sucks. Want to store the
number 1337 in a named register called "a"? No problem: C-u 1337 C-x
r n a. Now increase this number by one: C-u 1 C-x r + a. But why
would you even do that?
2 strange terminology
=====================
This madness gets only mitigated by the fact that you can run every
Emacs function by name via M-x (in Emacs bizarro land *M* denotes
the *META* key which is in most cases the ALT key). But now you have
to remember a myriad of ancient and counter intuitive terms and
function names.
- Want to cut and paste a word? No, want to *kill* and *yank* it.
- Want to swap two lines? No, you want to *transpose* them.
- Want to refresh a buffer? No you want to *revert* it.
- Want to increase the font size? No, you want to increase the *text
scale*.
3 window management
===================
And don't get me started on managing windows in Emacs. It's a
fucking nightmare. By default new windows pop up left and right. It
really drives me nuts that new windows don't automatically get focus
(e.g. the buffer window, help window, shell output, etc.). If I want
to close them I have to "C-x o" until I get to the new window and
than type "q" or "C-x 0" to get rid of it. Yes I could just use "C-x
1" but this potentially also makes other windows disappear which I
might still need. My conclusion: if you're working with more than
one file buffer just pop out another frame and let your window
manager handle it.
4 tabs
======
So you want to use tabs with Emacs? Forget about it! Tabs are not
the Emacs way. Emacs operates on buffers so you are better off to
just improve the way you do your buffer switching. I tried multiple
packages for tabbing but not one really does what I want. Why does
it seem to be impossible? Because Emacs WORKS ON BUFFERS AND NOT ON
TABS!!!111
5 about these buffers
=====================
Yes, there are a thousand buffers which are open in the background
at any moment and you don't want a tab for every single one of them.
When I was starting out with Emacs I routinely went through my
buffer list and closed the ones I didn't need anymore. Then 5
minutes later my buffer list was cluttered again. In such a moment
you feel like Sisyphus rolling the boulder up the hill again and
again and... The point is with Emacs you just have to accept that
these buffers are there so let them be. Your leet gaming pc with 32
gigs of ram will handle it just fine.
6 rmail
=======
Email in Emacs is another beast which really isn't worth the hassle
if you don't use email extensively. I once tried it with rmail and
it was really my strangest experience with Emacs cruft yet. First
off rmail can't do nothing on its own so you need a separate program
to fetch your mail. I chose getmail which you have to configure to
fetch all the mail (including attachments) into a single file
because rmail cannot read anything else. Having a few hundred emails
in a file and open it with Emacs is no fun experience. It is so slow
and laggy that it's on the brink of unusable.
Then I learn with rmail you have a very different workflow from what
you'd expect. Your main mailbox file is supposed to be empty all the
time so you constantly have to either delete old mails or archive
them into yet another rmail file (which then also grows to an
unreasonable size)! Ok so how you delete mail in rmail? It's kind of
like in dired. You press "d" to mark a file for deletion and then
"x" (which stands for e[x]punge, another great term for the Emacs
glossary) to actually delete them. Or so I thought because this
doesn't delete anything. Turns out you also have to save the mailbox
file ("C-x C-s") to make your changes permanent! Fortunately there
is convenient shortcut for the function rmail-expunge-and-save which
is bound to "s". You see it's not a trivial task to delete mails in
rmail.
I know there are other email solutions for emacs like Gnus (which I
wouldn't touch with a ten foot pole because it's even more annoying
to use) or mu4e (which I actually got work at some point) but here I
lay defeated. This shit just isn't for me so I'm back using
Thunderbird for the two emails I write per month.