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
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. [...]
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.
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.
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. [...]
For several reasons, the Package Menu’s f key has always flown a bit under the
radar for me. Though the
package-menu-filter command is great in principle, in
practice its usefulness falls a little short for several reasons.
It was six months ago, to the day, when I alluded to the fact that Emacs’
package menu needed to go async. The time it took to do a simple
bothered me the most, closely followed by having to go play Minesweeper every
time I did a package upgrade. The latter was partially addressed when I added
asynchronous package transactions to Paradox, but the former took a bit more
work. In Emacs 25.1, at last, the package menu is going async.
In Thurday's post on dependency management, I briefly mentioned that
package.el now keeps track of which packages the user explicitly requested,
and which were pulled in as dependencies. But there’s a bit more to this
feature, so it deserves some time in the spolight.
Package.el has gotten a series of improvements after the release of 24.4. Since I’ve found that people like to read about upcoming features, I’m starting a new series exclusively about our favorite package manager. Today, we talk dependencies. [...]
Proof-general is a powerful client for the Coq proof assistant, and Software Foundations is great interactive tutorial for the language. As I was following the tutorial, I felt the need to speed things up a little bit. Today’s post is just some configuration code I wrote for that effect. [...]
If you’ve been following our journey of typography, you must now have pretty apostrophes all over your org documents. But if that’s the case, you probably also noticed a drawback. Ispell doesn’t like them very much. Now how are we supposed to use our amazing auto-correct? [...]
It was a few years ago that I learned about
ace-jump-mode in one of Magnar’s
Emacs Rocks episodes. Over this time, slowly but surely, this one simple command
has completely taken over my workflow. It was only last week that I realised how
ingrained it is on my muscle memory. As I shared this thought on twitter,
ace-window was mentioned in the conversation and I decided to
give it a try.
This tip comes from colleague of mine. Ben has a mailing group at work where he
sends weekly Emacs tips. They’re always short and useful, but today’s tip was
quite the gem for me. Emacs has a
“With great power comes great responsibility,” and Emacs is a prime example of that. The versatility of having an editor that’s a lisp interpreter is truly empowering, but it can also backfire on you in the most unexpected ways. If you’ve ever ran into a foggy incompatibility issue between two unrelated packages, that manifested itself by turning on your mother’s coffee machine every other weekday, then you know how difficult this can be to track down. [...]
I’ve never been too pleased with the default behaviour of Backspace during
isearch. If the last key you hit was C-s, then it does the same as C-r
(albeit with less repetition), and if your match failed several characters ago,
you need to hit it that many times to get back on track. Fortunately, asmeurer
took the time to phrase this problem I barely realised I had.