I provide custom Evil Mode bindings
here to control Gnus in the summary
and group
buffer, they're pretty straightforward, and I think this presentation is
fairly legible. Evil Mode's motion
state is very useful for light modes like
this
provide 'cce/gnus-evil-mode)
(
defun cce/setup-gnus-evil-bindings ()
(require 'gnus-topic)
(setq evil-collection-mode-list
(remove 'gnus evil-collection-mode-list))
(mapc
(lambda (defn)
('motion gnus-topic-mode-map
(evil-define-key* car defn))
(kbd (cdr defn)))
("RET" . gnus-topic-select-group)
'(("J" . gnus-group-next-unread-group)
("K" . gnus-group-prev-unread-group)
("gf" . gnus-topic-get-new-news-this-topic)
("f" . gnus-group-get-new-news)
("t" . gnus-topic-mode)
("s" . gnus-group-save-newsrc)
("q" . gnus-group-quit)))
(mapc
(lambda (defn)
('motion gnus-group-mode-map
(evil-define-key* car defn))
(kbd (cdr defn)))
("RET" . gnus-group-select-group)
'(("J" . gnus-group-next-unread-group)
("K" . gnus-group-prev-unread-group)
("gf" . gnus-group-get-new-news-this-group)
("f" . gnus-group-get-new-news)
("t" . gnus-topic-mode)
("s" . gnus-group-save-newsrc)
("q" . gnus-group-quit)))
(mapc
(lambda (defn)
('motion gnus-summary-mode-map
(evil-define-key* car defn))
(kbd (cdr defn)))
("RET" . gnus-summary-scroll-up)
'(("j" . gnus-summary-next-unread-article)
("k" . gnus-summary-prev-unread-article)
("J" . gnus-summary-next-article)
("K" . gnus-summary-prev-article)
("u" . gnus-summary-clear-mark-forward)
("U" . gnus-summary-clear-mark-backward)
("i" . gnus-summary-kill-same-subject-and-select)
("o" . gnus-summary-tick-article-forward)
("m" . gnus-summary-catchup-from-here)
("M" . gnus-summary-catchup-to-here)
("L" . gnus-summary-lower-score)
("I" . gnus-summary-increase-score)
("p" . gnus-summary-catchup-and-exit)
("d" . gnus-summary-mark-as-read-forward)
("n" . gnus-summary-next-page)
("q" . gnus-summary-exit)
("/" . gnus-summary-limit-map))))
(
"gnus" #'cce/setup-gnus-evil-bindings)
(eval-after-load 'gnus-summary-mode 'motion)
(evil-set-initial-state 'gnus-group-mode 'motion) (evil-set-initial-state