¿Puede ocurrir centrar el texto encontrado en el búfer?

7

Al seleccionar un elemento del búfer de ocurrencia, la línea resaltada se encuentra en la parte inferior de la pantalla visible. Esto es menos útil que tenerlo en un 25-50% de la pantalla (por lo que es fácil leer el texto alrededor de la línea encontrada). es posible?

Aaron Lee
fuente

Respuestas:

9

No veo el comportamiento que usted describe, en absoluto. Para mí, cuando elijo una ocurrencia en el búfer *Occur*, visita la ocurrencia en el búfer de origen, colocando ese golpe en el medio de la ventana de búfer de origen (verticalmente).

Pero si ve lo que describe, simplemente coloque un código para volver a centrar ventanas occur-mode-find-occurrence-hook.

Algo como esto. Puede usar cualquier condición de comparación que desee. Aquí, usé "dentro de 10 líneas de la parte superior o inferior", pero podría usar porcentajes, 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)
Dibujó
fuente
1
Sí, eso lo hará. Me sale el comportamiento de OP, FWIW.
Dan
Es extraño que no lo haga, entonces. emacs -Qen MS Windows 7. Cualquier golpe que haga clic (o use RET) en el búfer de ocurrencia se muestra centrado verticalmente en el búfer de origen.
Dibujó
Tienes razón, emacs -Q(en Linux) da el comportamiento que describe. Algo debe estar enterrado en algún lugar es la configuración.
Dan