diff options
Diffstat (limited to 'emacs/.config/emacs-kj/lisp')
-rw-r--r-- | emacs/.config/emacs-kj/lisp/kj-multiple-cursors.el | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/emacs/.config/emacs-kj/lisp/kj-multiple-cursors.el b/emacs/.config/emacs-kj/lisp/kj-multiple-cursors.el new file mode 100644 index 0000000..fe928cf --- /dev/null +++ b/emacs/.config/emacs-kj/lisp/kj-multiple-cursors.el @@ -0,0 +1,25 @@ +;;; -*- 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 "<delete>") '("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) + |