summaryrefslogtreecommitdiff
path: root/emacs/.config/emacs-kj
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2023-02-02 08:38:56 -0500
committerKjetil Orbekk <kj@orbekk.com>2023-02-02 08:38:56 -0500
commit55866467be786c4f613946f9d94aabc5f9707970 (patch)
treed88a366246c02aeda4b257a447452bcbd1c2f4a5 /emacs/.config/emacs-kj
parent24499261f559737ded2f659e715910c7d25c631d (diff)
Add multiple-cursor config
Diffstat (limited to 'emacs/.config/emacs-kj')
-rw-r--r--emacs/.config/emacs-kj/development.el1
-rw-r--r--emacs/.config/emacs-kj/init.el118
2 files changed, 80 insertions, 39 deletions
diff --git a/emacs/.config/emacs-kj/development.el b/emacs/.config/emacs-kj/development.el
index 6d231e4..8e02091 100644
--- a/emacs/.config/emacs-kj/development.el
+++ b/emacs/.config/emacs-kj/development.el
@@ -69,3 +69,4 @@
(use-package graphviz-dot-mode
:ensure t)
+
diff --git a/emacs/.config/emacs-kj/init.el b/emacs/.config/emacs-kj/init.el
index 41ed048..40f170b 100644
--- a/emacs/.config/emacs-kj/init.el
+++ b/emacs/.config/emacs-kj/init.el
@@ -56,7 +56,7 @@
(use-package emacs
:init
;; Add all your customizations prior to loading the themes
- (setq modus-themes-region '(bg-only))
+ (setq modus-themes-region '(accented))
:config
;; Load the theme of your choice:
(load-theme 'modus-operandi) ;; OR (load-theme 'modus-vivendi)
@@ -187,6 +187,8 @@
;; For editing grep buffers.
(use-package wgrep)
+(use-package deadgrep
+ :bind ("M-s g" . deadgrep))
;; For recent files.
(recentf-mode 1)
@@ -490,17 +492,17 @@
(add-hook 'git-commit-mode-hook #'meow-insert))
-(use-package meow
- :bind
- :config
- (meow-setup)
- (meow-global-mode 1)
- ;; (meow-setup-indicator) ; Not needed with doom-modeline.
- (setq meow-use-clipboard t)
- ;; (add-to-list 'meow-keypad-start-keys '(?t . ?x))
- ;; (add-to-list 'meow-keypad-start-keys '(?x . ?t))
- (define-key meow-insert-state-keymap "\C-[" #'meow-insert-exit)
- )
+;; (use-package meow
+;; :bind
+;; :config
+;; (meow-setup)
+;; (meow-global-mode 1)
+;; ;; (meow-setup-indicator) ; Not needed with doom-modeline.
+;; (setq meow-use-clipboard t)
+;; ;; (add-to-list 'meow-keypad-start-keys '(?t . ?x))
+;; ;; (add-to-list 'meow-keypad-start-keys '(?x . ?t))
+;; (define-key meow-insert-state-keymap "\C-[" #'meow-insert-exit)
+;; )
(use-package emacs
:hook (dired-mode . dired-omit-mode)
@@ -658,9 +660,21 @@
(setenv "EDITOR" "emacsclient"))
(use-package idle-highlight-mode
- :config (setq idle-highlight-idle-time 0.2)
+ :config
+ (setq idle-highlight-idle-time 0.2)
+ (set-face-attribute 'idle-highlight nil :inherit 'underline)
:hook ((prog-mode text-mode) . idle-highlight-mode))
+(use-package paredit
+ :hook ((lisp-mode emacs-lisp-mode) . paredit-mode)
+ :bind (:map paredit-mode-map
+ ("M-k" . paredit-raise-sexp)
+ ("M-I" . paredit-splice-sexp))
+ :hook (paredit-mode
+ . (lambda ()
+ (unbind-key "M-r" paredit-mode-map)
+ (unbind-key "M-s" paredit-mode-map))))
+
(use-package emacs
:bind
(("C-c C-b C-r" . revert-buffer)
@@ -695,47 +709,73 @@
(use-package multiple-cursors)
+(use-package ace-mc
+ :bind (:map kj/leader-map
+ ("h" . ace-mc-add-multiple-cursors)
+ ("M-h" . ace-mc-add-single-cursor)))
+
;; Disable VC over tramp.
(defun kj/vc-off-if-remote ()
(if (file-remote-p (buffer-file-name))
(setq-local vc-handled-backends nil)))
(add-hook 'find-file-hook 'kj/vc-off-if-remote)
-(defvar kj/leader-repeat-map
- (let ((map (make-sparse-keymap)))
- (define-key map (kbd "@") 'er/expand-region)
- (define-key map (kbd "!") (defun kj/contract-region ()
- (er/expand-region -1)))
- map)
- "kj/leader-map keymap.")
-
-(defun repeatize (keymap)
- "Add `repeat-mode' support to a KEYMAP."
- (map-keymap
- (lambda (_key cmd)
- (when (symbolp cmd)
- (put cmd 'repeat-map keymap)))
- (symbol-value keymap)))
-(repeatize 'kj/leader-repeat-map)
-
-(defvar kj/leader-map
- (let ((map (make-sparse-keymap)))
- (define-key map (kbd "b") 'consult-buffer)
- (set-keymap-parent map kj/leader-repeat-map)
- map)
- "kj/leader-map keymap.")
+(use-package selected
+ :demand t
+ :diminish selected-minor-mode
+ :bind (:map selected-keymap
+ ("[" . align-code)
+ ("f" . fill-region)
+ ("U" . unfill-region)
+ ("d" . downcase-region)
+ ("r" . reverse-region)
+ ("S" . sort-lines))
+ :config
+ (selected-global-mode 1))
+
+(use-package emacs
+ :init
+ (defvar kj/leader-map
+ (make-sparse-keymap)
+ "Keymap for leader key")
+ :bind (:repeat-map kj/leader-map
+ ("." . mc/mark-next-like-this)
+ ("," . mc/mark-previous-like-this)
+ ("w" . mc/mark-next-like-this-word)
+ ("W" . mc/mark-all-words-like-this)
+ ("s" . set-rectangular-region-anchor)
+ ("y" . mc/mark-next-like-this-symbol)
+ ("Y" . mc/mark-all-like-this-symbol)
+ ("C-SPC" . mc/mark-pop)
+ ("(" . mc/mark-all-symbols-like-this-in-defun)
+ ("C-(" . mc/mark-all-words-like-this-in-defun)
+ ("M-(" . mc/mark-all-like-this-in-defun)
+ :exit
+ ("b" . consult-buffer))
+
+ :bind (("S-<down-mouse-1>")
+ ("S-<mouse-1>" . mc/add-cursor-on-click))
+
+ :bind (:map selected-keymap
+ ("C->" . mc/skip-to-next-like-this)
+ ("C-<" . mc/skip-to-previous-like-this)
+ ("." . mc/mark-next-like-this)
+ ("," . mc/mark-previous-like-this)
+ ("w" . mc/mark-next-like-this-word)
+ ("W" . mc/mark-all-words-like-this)
+ ("s" . set-rectangular-region-anchor)
+ ("y" . mc/mark-next-like-this-symbol)
+ ("Y" . mc/mark-all-like-this-symbol)))
(defvar kj/keys-minor-mode-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "C-t") kj/leader-map)
map)
- "kj/keys-minor-mode keymap.")
-
+ "Keymap for kj/keys-minor-mode")
(define-minor-mode kj/keys-minor-mode
"A minor mode so that my key settings override annoying major modes."
:init-value t
:lighter " kj-keys")
-
(kj/keys-minor-mode 1)
;; Repeat commands (e.g., C-x o o o)