Here's a revised patch. I've been running with this for a few days, and it feels delightful. Changes from the last time: - Removed the unnecessary (call-interactively ...) pointed out by Eli - Instead of using (easy-mmode-define-navigation) to create diff-{hunk,file}-{next,prev} and then overriding that definition, I now have (easy-mmode-define-navigation) create diff--internal-{hunk,file}-{next,prev}, and then my own (diff-{hunk,file}-{next,prev}) call those functions - I now handle file navigation in addition to hunk navigation