summaryrefslogtreecommitdiff
path: root/emacs/.config/emacs-kj/lisp/kj-multiple-cursors.el
blob: fe928cf70feeb94fb227e38787b0fd43ef360112 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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)