Emacs Recentering With Context

April 13th, 2022
emacs, tech
In emacs, when you press Ctrl-L, by default it runs recenter-top-bottom. This scrolls the document ("buffer") so the line the cursor is currently on is centered in the screen. If you press it again, it scrolls so the cursor is at the very top of the screen, and again puts the cursor at the very bottom. I've always been mildly irritated by this: the middle of the screen is lower than I want for the initial state; I generally want more context below the cursor than above. Additionally, scrolling to the top or bottom is nearly useless because I almost always want at least a little bit of context on both sides of the cursor.

Everything in emacs can be configured, but sometimes it's quite a pain, so I kept putting off looking into this. With Nora napping and the older two playing with a neighbor friend, however, I finally looked into this, and it turns out to be very easy. There's a recenter-positions variable that defaults to '(middle top bottom), but you can set it to anything you want. The default is equivalent to '(0.0, 0.5, 1.0), and I'm now using:

(setq recenter-positions '(0.25 0.5 0.9))
This means that the first Ctrl-L puts my cursor 25% of the way down the page, which is where I'm most likely to want it. If I find I want more context above I can press it again, to put it at 50%, and again to put it at 90%.

These are good for my usage, but I run tall terminals and if I ran shorter ones I might want different values.

Comment via: facebook, lesswrong, substack

Recent posts on blogs I like:

Thing of Things AI use policy

dynomight recently wrote an article calling for bloggers to state publicly whether and how they use AI

via Thing of Things July 6, 2026

Agentic test processes, LLM benchmarks, and other notes on agentic coding from Galapagos Island

I've been using AI fairly heavily since last November and the whole thing is a funny experience. An agent will do something that, if a human did it, you'd immediately fire them. My reaction, of course, is to act as if this is great and spin up a t…

via Posts on July 3, 2026

Variable fonts aren't universally supported

I make a lot of webpages. I also use Lockdown Mode on iOS and MacOS for a bit of extra security. Sometimes I realize that I forgot to test on Safari and it looks like crap, or I test and don’t notice that there’s been a problem for months (as was the case…

via Home June 27, 2026

more     (via openring)