mejor enfoque sería probablemente para añadir el siguiente gancho:
(add-hook 'isearch-mode-end-hook 'recenter-top-bottom)
Esto ejecutará el comando recenter-top-bottom
a la terminación de cada éxito la búsqueda incremental.
Edición: He investigado un poco, y las funciones que se ejecutan en repetidas búsquedas de la misma cadena (es decir, con la entrada sucesiva de C-s
o C-r
durante una búsqueda activa) parece ser isearch-repeat-forward
y/o isearch-repeat-backward
. Por lo tanto, si desea volver a centrar en cada repetición, así, es necesario asesorar a dichas funciones, además de definir el gancho anteriores del siguiente modo:
(defadvice
isearch-repeat-forward
(after isearch-repeat-forward-recenter activate)
(recenter-top-bottom))
(defadvice
isearch-repeat-backward
(after isearch-repeat-backward-recenter activate)
(recenter-top-bottom))
(ad-activate 'isearch-repeat-forward)
(ad-activate 'isearch-repeat-backward)
Personalmente, creo que el comportamiento resultante sea extremadamente molesto y desconcertante , pero de gustibus non est disputandum. Tal vez reservar recenter-top-bottom
para su uso en el isearch-mode-end-hook
inicial y usar recenter
solo en el asesoramiento a las funciones repeat
sería menos desagradable.
Asesorar isearch-forward
por sí mismo es equivalente a agregar el gancho que sugerí anteriormente y aparentemente no tiene ningún efecto en las búsquedas repetidas. Agregar el gancho es más simple y creo que es más idiomático, por lo que probablemente debería ser mejor que recomendar la función.