   (define-key evil-normal-state-map (kbd "grm") 'emc-make-cursors-for-all-matches)
   (define-key evil-visual-state-map (kbd "grm") 'emc-make-cursors-for-all-matches)
 
+  ;; TODO should escape with ESC or C-g
+  (define-key evil-normal-state-map (kbd "grc") 'emc-undo-all-cursors)
+  (define-key evil-visual-state-map (kbd "grc") 'emc-undo-all-cursors)
+
   (define-key evil-normal-state-map (kbd "grn") 'emc-make-and-goto-next-cursor)
   (define-key evil-normal-state-map (kbd "grp") 'emc-make-and-goto-prev-cursor)
   (define-key evil-normal-state-map (kbd "grf") 'emc-make-and-goto-first-cursor)

             (1+ (length emc-cursor-list))
             (emc-get-pattern-text))))

(evil-define-command emc-make-and-goto-first-cursor ()
  "Make a cursor at point and move point to the cursor with the lowest position."
  :repeat ignore

  (define-key evil-normal-state-map (kbd "gsp") 'emc-skip-cursor-and-goto-prev-match)
  )

;; TODO handle visual

(provide 'emc-cursor-make)

