2

I usually use occur to make an index of the beginning of different things. When I jump to the occurrence, Occur shows the line in the middle of the buffer. How can I instruct occur to show the occurrence in the top of the buffer?

Thanks.

2

You can scroll the window in occur-mode-find-occurrence-hook such that point is at the top of the window:

(defun my-occur-recenter ()
  "Scroll point to the top of the window."
  (recenter 0))

(add-hook 'occur-mode-find-occurrence-hook #'my-occur-recenter)

Notes:

  1. The functions registered in occur-mode-find-occurrence-hook are called with point at the position of the selected occurence.
  2. recenter called with a non-negative argument adjusts the vscroll of the window such that point is located that many lines from the top line.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.