  ;; git-timemachine
  (:after git-timemachine
    (:map git-timemachine-mode-map
-     :nv "p" #'git-timemachine-show-previous-revision
-     :nv "n" #'git-timemachine-show-next-revision
-     :nv "g" #'git-timemachine-show-nth-revision
-     :nv "q" #'git-timemachine-quit
-     :nv "w" #'git-timemachine-kill-abbreviated-revision
-     :nv "W" #'git-timemachine-kill-revision
-     :nv "b" #'git-timemachine-blame))
+     :n "C-p" #'git-timemachine-show-previous-revision
+     :n "C-n" #'git-timemachine-show-next-revision
+     :n "[["  #'git-timemachine-show-previous-revision
+     :n "]]"  #'git-timemachine-show-next-revision
+     :n "q"   #'git-timemachine-quit
+     :n "gb"  #'git-timemachine-blame))
 
  ;; gist
  (:after gist

(map!
 ;; --- Global keybindings ---------------------------
 ;; Make M-x available everywhere
 :nvime "M-x" #'execute-extended-command
 :nvime "A-x" #'execute-extended-command
 ;; Emacs debug utilities
 "M-;"        #'eval-expression
 :nvime "M-;" #'eval-expression
 "M-:"        #'doom/open-scratch-buffer
 :nvime "M-:" #'doom/open-scratch-buffer
 ;; Text-scaling
 "M-+"    (λ! (text-scale-set 0))
 "M-="    #'text-scale-increase
 "M--"    #'text-scale-decrease
 ;; Simple window navigation/manipulation
 "C-`"    #'doom/popup-toggle
 "C-~"    #'doom/popup-raise
 "M-t"    #'+workspace/new
 "M-T"    #'+workspace/display
 "M-w"    #'delete-window
 "M-W"    #'+workspace/close-workspace-or-frame
 "M-n"    #'evil-buffer-new
 "M-N"    #'make-frame
 "M-1"    (λ! (+workspace/switch-to 0))
 "M-2"    (λ! (+workspace/switch-to 1))
 "M-3"    (λ! (+workspace/switch-to 2))
 "M-4"    (λ! (+workspace/switch-to 3))
 "M-5"    (λ! (+workspace/switch-to 4))
 "M-6"    (λ! (+workspace/switch-to 5))
 "M-7"    (λ! (+workspace/switch-to 6))
 "M-8"    (λ! (+workspace/switch-to 7))
 "M-9"    (λ! (+workspace/switch-to 8))
 "M-0"    #'+workspace/switch-to-last
 ;; Other sensible, textmate-esque global bindings
 "M-r"    #'+eval/buffer
 "M-R"    #'+eval/region-and-replace
 "M-b"    #'+eval/build
 "M-a"    #'mark-whole-buffer
 "M-c"    #'evil-yank
 "M-q"    (if (daemonp) #'delete-frame #'save-buffers-kill-emacs)
 "M-s"    #'save-buffer
 "M-v"    #'clipboard-yank
 "M-f"    #'swiper
 "C-M-f"  #'doom/toggle-fullscreen
 :m "A-j" #'+hlissner:multi-next-line
 :m "A-k" #'+hlissner:multi-previous-line
 :nv "C-SPC" #'+evil:fold-toggle
 ;; Easier window navigation
 :en "C-h"    #'evil-window-left
 :en "C-j"    #'evil-window-down
 :en "C-k"    #'evil-window-up
 :en "C-l"    #'evil-window-right

 (:prefix "C-x"
   "p" #'doom/other-popup)


 ;; --- <leader> -------------------------------------
 (:leader
   :desc "Ex command"  :nv ";"   #'evil-ex
   :desc "M-x"         :nv ":"   #'execute-extended-command
   :desc "Pop up scratch buffer"   :nv "x"  #'doom/open-scratch-buffer
   :desc "Org Capture"             :nv "X"  #'+org-capture/open


     :desc "Invalidate cache"        :n  "x" #'projectile-invalidate-cache)

   (:desc "quit" :prefix "q"
     :desc "Quit"                   :n "q" #'evil-save-and-quit
     :desc "Quit (forget session)"  :n "Q" #'+workspace/kill-session-and-quit)

   (:desc "remote" :prefix "r"
     :desc "Upload local"           :n "u" #'+upload/local
