Emacs helm:跳转后如何自动重新居中?
Emacs helm: How to auto-recenter after jump?
我想在使用 helm-semantic-or-imenu 或 helm-org-in-buffer-headings 跳转后使当前行重新居中,即,就像 helm-swoop 一样。可能吗?
我不使用 helm
,但我这样做是为了 isearch
。找出哪个函数实际跳转到一行(可能是被调用的函数,例如 helm-semantic-or-imenu
,可能是某些内部辅助函数,例如 isearch
),然后向其添加以下建议。
(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))))
我不记得为什么我定义了 recenter
的非重绘版本(多年来我一直都是这样)。它也应该与普通 recenter
一起使用。
我想在使用 helm-semantic-or-imenu 或 helm-org-in-buffer-headings 跳转后使当前行重新居中,即,就像 helm-swoop 一样。可能吗?
我不使用 helm
,但我这样做是为了 isearch
。找出哪个函数实际跳转到一行(可能是被调用的函数,例如 helm-semantic-or-imenu
,可能是某些内部辅助函数,例如 isearch
),然后向其添加以下建议。
(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))))
我不记得为什么我定义了 recenter
的非重绘版本(多年来我一直都是这样)。它也应该与普通 recenter
一起使用。