 
 ;; vc-annotate
 (general-define-key
- :states 'normal
  :keymaps 'vc-annotate-mode-map
+ :states 'normal
  "q"   '(kill-this-buffer)
  "d"   '(vc-annotate-show-diff-revision-at-line)
  "D"   '(vc-annotate-show-changeset-diff-revision-at-line)


;; evil-commentary
(general-define-key
 :states 'normal
 "gc" '(evil-commentary))

;; evil-exchange
(general-define-key
 :states 'normal
 "gx" '(evil-exchange))

;; evil-magit
(general-define-key
 :states 'normal
 :keymaps '(magit-status-mode-map magit-revision-mode-map)
 "C-j" '(nil)
 "C-k" '(nil))

;; evil-surround
(general-define-key
 :states 'visual
 "S" '(evil-surround-region))
(general-define-key
 :states 'operator
 "s" '(evil-surround-edit)
 "S" '(evil-surround-edit))

;; flycheck
(general-define-key
 :states 'motion
 "]e" '(next-error)
 "[e" '(previous-error))
(general-define-key
 :states 'normal
 :keymaps 'flycheck-error-list-mode-map
 "C-n" '(flycheck-error-list-next-error)
 "C-p" '(flycheck-error-list-previous-error)
 "j"   '(flycheck-error-list-next-error)


;; hl-todo
(general-define-key
 :keymaps 'motion
 "]t" '(hl-todo-next)
 "[t" '(hl-todo-previous))

