3

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.

1 Answer 1

3

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.
2
  • hi, if the registered functions are called with point, how does it work without error if the function is parameterless like it is here? Commented Mar 20, 2023 at 6:55
  • 1
    @MustafaAydın They are not called with an argument but with point at the occurence. Commented Mar 20, 2023 at 7:05

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.