Endless Parentheses

Ramblings on productivity and technical subjects.

profile for Malabarba on Stack Exchange

Write Gmail in Emacs the Easy Way: gmail-message-mode

Trying out the myriad of Emacs mail clients is no less than an odyssey. I am proud to say I dove into this sea of protocols and credentials and emerged from it a better man, albeit empty handed. [...]

Merging Github Pull Requests from Emacs

Last week, Bin Chen shared his workflow for merging Github pull requests. Other than the use of Firefox instead of Conkeror, it was identical to mine. Now I gladly come to admit that Alexander Yakushev has outsmarted us both by fixing up magit-gh-pulls-mode, a package originally written by Yann Hodique which does it all from within Magit. [...]

Faster Keystroke Echo

My laptop is so old it is almost getting out-performed by my smartphone, the principal consequence being that its keyboard has started to give up on life. Occasionally, a key won't register when I hit it, and occasionally I'll get paranoid and hit a key twice without knowing it actually had registered the first time. [...]

Banishing the Shift Key with Key-Chord in Emacs

Take a minute now and be honest with yourself. Do you like the shift key, or do you just put up with it? Perhaps it's just because my hands are the size of basketballs, but I've always found Shift hard to reach. [...]

Emacs narrow-or-widen-dwim

Narrowing is one of those features you won’t even hear about in a more mundane editor, but Emacs has an entire keymap for it. While I wouldn’t want to be without this feature, I’m all for simplification. [...]

Hungry Delete Mode

hungry-delete-mode is what I like to call a “free feature” —it asks nothing of you. In contrast, most other worthwhile features charge you a price. The cheapest novelties charge some mental effort on your part to fit into your workflow, the moderate ones ask for some space on your ever-diminishing set of free keys, and a few narcisistic gems demand that you adopt a completely new state of mind (paredit, I'm looking at you). [...]

Manually Choose a Fallback Font for Unicode

Jon Snader over at Irreal mentioned that Trey Harris shared on G+ how to use a fallback font for Unicode Symbols. I won't repeat what they said here, you've probably seen it already (and if you haven't then go). I merely come to offer my own solution to this predicament, which doesn't require any package installation and is pretty configurable to boot. [...]

The Toggle-Map and Wizardry

I love intuitive keymaps. Some are so perfect, you just can’t avoid mouthing the words every time you hit that blissful combo. A wizard murmuring an incantation under his breath as his fingers draw the arcane patterns. [...]

Inserting Documentation Quotes

Hopefully I'm not the only one who obsessively tries to abide by the high codes of good practice and writes descriptive documentation on every last defun or defcustom. If so, I can't be the only one who has grown tired of typing ` then ' inside Emacs doc strings. [...]

Meta Binds Part 2: A peeve with paragraphs

Emacs is an intelligent editor in more ways than one. Instead of hardcoding its movement functions (such as end-of-defun or forward-paragraph), they're implemented in terms of delimiters which are configured by each major-mode. It works beautifully for functions, but it feels like a stone in my shoe for paragraphs. [...]

New messages-buffer-mode in Emacs 24.4

I've been using 24.4 for months now, yet only today I came to realise the *Messages* buffer has been granted its own major-mode. The practical difference is that the buffer is now read-only and has a non-writing-oriented key-map. [...]

Emacs Documentation v1.3 Android App: Built-in Viewer and Theme Choice

I've just released version 1.3 of the Emacs Documentation Android app. You can


Ispell and Abbrev, the Perfect Auto-Correct

I am not a fantastic typist. My speed is acceptable, but I make a great deal of mistakes. The following snippet has turned me into the Messi of keyboards. [...]

Require Feature or Install Package

A gentleman (or woman) by the name of baam_waak recently asked on /r/emacs how can one make sure a package gets installed in case requireing it fails. Sadly, this predicament has no perfect solution, for you require features, not packages. Fortunately, it has plenty of solutions that are good enough, since features commonly share the name of their package. [...]

Ido Bury Buffer

A lesson for the less-informed: while using ido to switch buffers, you can kill buffers with C-k. [...]