;;; -*- lexical-binding: t; -*- (use-package multiple-cursors :config (defvar kj/multiple-cursors-map (make-sparse-keymap)) (define-key kj/multiple-cursors-map "." '("→ this" . mc/mark-next-like-this)) (define-key kj/multiple-cursors-map "," '("← this" . mc/mark-previous-like-this)) (define-key kj/multiple-cursors-map ">" '("⇥ this" . mc/skip-to-next-like-this)) (define-key kj/multiple-cursors-map "<" '("⇤ this" . mc/skip-to-previous-like-this)) (define-key kj/multiple-cursors-map "<" '("⇤ this" . mc/skip-to-previous-like-this)) (define-key kj/multiple-cursors-map "*" '("all like this" . mc/mark-all-like-this)) (define-key kj/multiple-cursors-map "w" '("word" . mc/mark-next-like-this-word)) (define-key kj/multiple-cursors-map "s" '("symbol" . mc/mark-next-like-this-symbol)) (define-key kj/multiple-cursors-map "(" '("symbol defun" . mc/mark-all-symbols-like-this-in-defun)) (define-key kj/multiple-cursors-map (kbd "DEL") '("DEL last" . mc/unmark-next-like-this)) (define-key kj/multiple-cursors-map (kbd "") '("DEL first" . mc/unmark-previous-like-this)) (global-set-key (kbd "C-c m") (cons "cursors" kj/multiple-cursors-map)) (map-keymap (lambda (_key cmd) (put (cdr cmd) 'repeat-map 'kj/multiple-cursors-map)) kj/multiple-cursors-map) ) (provide 'kj-multiple-cursors)