Use git-timemachine with Evil
git-timemachine is simple.
After "M-x git-timemachine", a new read-only buffer is created and I need only use six key bindings: "n", "q", "p", "w", "W", "g".
The problem is I'm using Evil. How to make git-timemachine's key bindings override Evil's?
I consulted the issue with Frank Fischer.
The solution is simple. Insert below code into ~/.emacs:
;; @see https://bitbucket.org/lyro/evil/issue/511/let-certain-minor-modes-key-bindings (with-eval-after-load 'git-timemachine (evil-make-overriding-map git-timemachine-mode-map 'normal) ;; force update evil keymaps after git-timemachine-mode loaded (add-hook 'git-timemachine-mode-hook #'evil-normalize-keymaps))
I also recommend reading his in-depth discussion on general handling of keybindings conflict between evil and other minor modes.