summaryrefslogtreecommitdiff
path: root/emacs/.config/emacs/lisp/kj-multiple-cursors.el
blob: 962193dd8929a5fb269ba5555842e6a90dab1e2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
;;; -*- lexical-binding: t; -*-

(use-package multiple-cursors
  :config
  (defvar kj/multiple-cursors-map (make-sparse-keymap "cursors"))
  (define-repeating-key kj/multiple-cursors-map "." mc/mark-next-like-this "→ this")
  (define-repeating-key kj/multiple-cursors-map "," mc/mark-previous-like-this "← this")
  (define-repeating-key kj/multiple-cursors-map ">" mc/skip-to-next-like-this "⇥ this")
  (define-repeating-key kj/multiple-cursors-map "<" mc/skip-to-previous-like-this "⇤ this")
  (define-repeating-key kj/multiple-cursors-map "<" mc/skip-to-previous-like-this "⇤ this")
  (define-repeating-key kj/multiple-cursors-map "*" mc/mark-all-like-this "all like this")
  (define-repeating-key kj/multiple-cursors-map "w" mc/mark-next-like-this-word "word")
  (define-repeating-key kj/multiple-cursors-map "s" mc/mark-next-like-this-symbol "symbol")
  (define-repeating-key kj/multiple-cursors-map "(" mc/mark-all-symbols-like-this-in-defun "symbol defun")
  (define-repeating-key kj/multiple-cursors-map (kbd "DEL") mc/unmark-next-like-this "DEL last")
  (define-repeating-key kj/multiple-cursors-map (kbd "<delete>") mc/unmark-previous-like-this "DEL first")
  (define-key kj/multiple-cursors-map (kbd "C-g") '("quit" . ignore))
  (global-set-key (kbd "C-c m") (cons "cursors" kj/multiple-cursors-map)))

(provide 'kj-multiple-cursors)