Ich möchte die aktuelle Zeile nach dem Springen neu zentrieren, indem ich Helm-Semantic-oder-Imenu oder Helm-Org-in-Puffer-Überschriften verwende, d. H. Genau wie Helm-Swoop. Ist es möglich?Emacs-Helm: Wie man nach Sprung automatisch zentriert?
0
A
Antwort
0
Ich verwende nicht helm
, aber ich mache dies für isearch
. Finden Sie heraus, welche Funktion tatsächlich zu einer Zeile springt (vielleicht die aufgerufene Funktion, z. B. helm-semantic-or-imenu
, vielleicht eine interne Hilfsfunktion, wie es bei isearch
der Fall ist), und fügen Sie dann den folgenden Hinweis hinzu.
(defun recenter-no-redraw (&optional arg)
"Like `recenter', but no redrawing."
(interactive "P")
(let ((recenter-redisplay nil))
(recenter arg)))
(advice-add 'isearch-search
:after
(lambda (&rest args)
"Recenter"
(when isearch-success
(recenter-no-redraw))))
Ich kann mich nicht erinnern, warum ich eine nicht-Nachziehen Version von recenter
definiert (ich habe es wie die seit Jahren). Es sollte auch mit Plain recenter
funktionieren.
Es funktioniert! Ich habe verwendet: '(Beratung-hinzufügen 'Helm-semantic-oder-imenu: nach (Lambda (und Rest args) (center-no-redraw))) Vielen Dank! – AhLeung