Endless Parentheses

Concise ramblings on Emacs productivity.

Org-mode subtrees and file-local variables

As you grow accustomed to fine-tuning your Emacs experience, it’s not unusual to start using local variables in your files. These are specified as comment lines at the of the file, and are extremely practical in a number of scenarios. Here’s a very simple org file. [...]

Making Ispell work with org-mode

If you’ve every tried to do some spell-checking in org-mode you know how finicky that can be. Ispell is happy to check absolutely anything, even code blocks and property drawers! When you’re blogging about code-snippets from an org file this annoyance quickly turns into irritation. Here’s how you fix it. [...]

A comment-or-uncomment-sexp command

Commenting is a very frequent piece of a programmer’s workflow, and it’s important to make it seamless and simple. For the more statemental languages, that’s as easy as writing a custom comment-line command. However, when you’re writing in Lisp languages, that just won’t do. Trying to comment out lines in a sexp-oriented structure, feels a lot like trying to hit a nail with a heavy screwdriver—it sometimes gets the job done, but it mostly just leads to frustration. [...]

Markdown style link IDs in org-mode

Link handling and exporting is one of the most versatile aspects of org-mode. Did you know you can make org-mode understand Markdown style link IDs? [...]

Transposing keybinds in Emacs

Transposing is another of those features that I really miss when not in Emacs. It took me several months of actively reminding myself in order to finally incorporate it into my regular arsenal. Now, not a day goes by that I don’t transpose a few lines, and usually some words and sexps as well, but the usefulness of transpose-char still seems to elude me. [...]

Embedding Youtube videos with org-mode links

If you’re a frequent reader, no doubt you noticed an embedded Youtube video on a post a couple of weeks ago. Youtube makes it pretty simple to embed videos, they give you the entire iframe HTML code to use, but this wouldn’t really be Emacs if we couldn’t make things just a little bit easier. Just add the snippet below to your init file, and you’re good to go. [...]

Fixing DOuble CApitals as you type

This is something that’s bothered me for a very long time. My pinky is slow when it comes to releasing the Shift key, and frequently leads to typos. MOst typos (hitting letters in the wrong order) are already covered by auto-correction, but there’s another common typo that it doesn’t fix. EVery now and then, I’ll start a sentence with two uppercase letters. [...]

You won’t believe this simple trick for using Emacs with Java!

Install JDEE! Ok, maybe that’s an overstatement. JDEE is far from simple, and it hasn’t been able to keep up very well since Java 1.4. However, thanks to Stephen Leake & folks, that might be starting to change. JDEE is now on Github, and it could definitely use your help. [...]

Debugger improvements in Cider 0.10.0

Over the last couple of weeks I had a few more days to work on the Cider debugger, and it’s getting a slew of improvements on the next release (0.10.0). This starts with a complete rewrite, so it now supports almost everything, and ends with some small features and UI improvements. Without further delay, here’s a video. [...]

Applying Markup to Strings in org-mode

Normally, org-mode ignores your attempts to markup text that starts with " or '. That’s probably a safe measure because "~/" is a very common string to write but ~ is one of Org’s markup elements. [...]

Fine-tuning subtree visibility in org-mode

Org is one of those packages that you can use for a lifetime and still not know all of its features. One of the first things you learn is how to use the #+STARTUP header to define the initial visibility of headlines when you first open an org-mode file. But did you know you can also use that on a per headline basis? [...]

How I blog: One year of posts in a single org file

When this blog was conceived, I decided that I wanted it to be entirely contained in a single org file, and that this would also be my Emacs init file. On the blog’s very first post I explained how to implement the latter, an init file that also serves other purposes. Today, Endless Parentheses turns 1 year old, and it’s time to explain the former, how to turn a file into a blog. [...]

Create Github PRs from Emacs with Magit (again)

I don’t usually dedicate an entire post to something I’ve already done in a previous one, but this nugget is so useful it deserves the attention. Remember how you can create Github PRs straight from Magit? Magit 2.1.0 is barely two weeks away, and it brings so many (awesome) changes that our little snippet is going to break. [...]

Better compile command

Having to confirm-before-save buffers every time you call compile is nearly as outrageous as having no key bound to compile in the first place. This snippet takes care of both and, as a bonus, makes the compilation window follow a predetermined size and ensures that point will follow the output. [...]

New in Emacs 25.1: Archive priorities and downgrading packages

This is the feature I’ve been wanting to show off the most. Anyone who’s configured Emacs to use more than one package archive knows this problem. The package menu displays countless redundant entries, as it must list a package once for each archive that offers it. Even worse, if you install a package from one archive, the package menu will gladly upgrade it to a newer version on another archive, clueless to the fact that it may be giving you unstable code. [...]