     (advice-add 'cider-eval-last-sexp-to-repl :around 'evil-collection-cider-last-sexp)
     (with-eval-after-load 'cider-eval-sexp-fu
       (advice-add 'cider-esf--bounds-of-last-sexp :around 'evil-collection-cider-last-sexp)))
+
+  (when evil-collection-settings-setup-debugger-keys
+    (add-hook 'cider-mode-hook #'evil-normalize-keymaps)
+    (add-hook 'cider--debug-mode-hook #'evil-normalize-keymaps)
+    (evil-define-key 'normal cider-mode-map
+      [f6] 'cider-browse-instrumented-defs
+      [f9] 'cider-debug-defun-at-point)
+
+    (evil-define-key 'normal cider--debug-mode-map
+      "b" 'cider-debug-defun-at-point
+      "n" 'evil-collection-cider-debug-next
+      "c" 'evil-collection-cider-debug-continue
+      "o" 'evil-collection-cider-debug-out
+      "q" 'evil-collection-cider-debug-quit
+      "e" 'evil-collection-cider-debug-eval
+      "J" 'evil-collection-cider-debug-inject
+      "I" 'evil-collection-cider-debug-inspect
+      "L" 'evil-collection-cider-debug-locals
+      "H" 'cider-debug-move-here))
 
   (evil-define-key '(normal visual) cider-mode-map
     "gd" 'cider-find-var

        (apply command args))
    (apply command args)))

(defun evil-collection-cider-setup ()
  "Set up `evil' bindings for `cider'."
  (unless evil-move-beyond-eol

;; Evil bindings for Cider.

;;; Code:
(require 'cl-macs)
(require 'cider nil t)
(require 'evil)
(require 'evil-collection-settings)

(declare-function cider-debug-mode-send-reply "cider-debug")

(defun evil-collection-cider-last-sexp (command &rest args)
  "In normal-state or motion-state, last sexp ends at point."
