Não vejo o comportamento que você descreve. Para mim, quando eu escolho uma ocorrência no buffer, *Occur*
ele visita a ocorrência no buffer de origem, colocando esse tapa no meio da janela do buffer de origem (verticalmente).
Mas se você vir o que descreve, basta colocar um código de janela recente occur-mode-find-occurrence-hook
.
Algo assim. Você pode usar qualquer condição de comparação que desejar. Aqui, usei "dentro de 10 linhas da parte superior ou inferior", mas você pode usar porcentagens etc.
(defun foo ()
(let ((line (line-number-at-pos)))
(cond ((<= line (+ (line-number-at-pos (window-start)) 10))
(recenter 10))
((>= line (- (line-number-at-pos (window-end)) 10))
(recenter -10)))))
(add-hook 'occur-mode-find-occurrence-hook 'foo)
emacs -Q
no MS Windows 7. Quaisquer hits que clico (ou usoRET
) no buffer de ocorrência são mostrados centralizados verticalmente no buffer de origem.emacs -Q
(no Linux) fornece o comportamento que você descreve. Algo deve estar enterrado em algum lugar é a configuração.