____________________________________ EMACS RANT ____________________________________ 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. /rant