recenter-positions, that's not how gravity works!28 Mar 2015
Yesterday, I've added a new binding to
swiper-map: C-l will now call
The implementation is really easy, almost nothing to write home about:
(defun swiper-recenter-top-bottom (&optional arg) "Call (`recenter-top-bottom' ARG) in `swiper--window'." (interactive "P") (with-selected-window swiper--window (recenter-top-bottom arg)))
An interesting thing that I want to mention though is the customization of the default
recenter-top-bottom behavior. This is the default one:
(setq recenter-positions '(middle top bottom))
And this is the logical one that I'm using:
(setq recenter-positions '(top middle bottom))
Try it out, and see if it makes sense to you. For me, when I've just jumped to a function
definition, which usually means that the point is on the first line of the function, the first
recenter position has to be
top, since that will maximize the amount of the function body that's
displayed on the screen.
Another use-case is when I'm reading an info or a web page. After a recenter to top, all that I have read is scrolled out of view, and I can continue from the top.