用 hydra 也能实现:
(defhydra hydra-evil-scroll-up-and-down (:hint nil)
"Scroll [u] up / [d] down, Page [p] up / [n] down, [q] quit"
("u" evil-scroll-up)
("p" evil-scroll-page-up)
("d" evil-scroll-down)
("n" evil-scroll-page-down)
("q" nil))
(define-key evil-normal-state-map (kbd "C-d")
'(lambda ()
(interactive)
(evil-scroll-down 0)
(hydra-evil-scroll-up-and-down/body)))
(define-key evil-normal-state-map (kbd "C-u")
'(lambda ()
(interactive)
(evil-scroll-up 0)
(hydra-evil-scroll-up-and-down/body)))
首次按组合键 C-u/d 翻页并激活,后续按单个键u/d/p/n就可以了,无需额外的激活键。存在的问题:1)单行提示没有高亮色; 2) 提示栏实际占了两行的高度。
或者简单点,把[/] 映射为 evil-scroll-up/down
。