💥 private/default: add +bindings, +snippets & +evil-commands features #383
This is a breaking change. You'll need to add these three flags to your init.el to restore the defaults.
This commit is contained in:
parent
5210ee5f7e
commit
26d1dd7991
2 changed files with 62 additions and 57 deletions
|
@ -138,5 +138,6 @@
|
||||||
;; the defaults module. It contains a Spacemacs-inspired keybinding
|
;; the defaults module. It contains a Spacemacs-inspired keybinding
|
||||||
;; scheme and additional ex commands for evil-mode. Use it as a reference
|
;; scheme and additional ex commands for evil-mode. Use it as a reference
|
||||||
;; for your own.
|
;; for your own.
|
||||||
:private default)
|
:private
|
||||||
|
(default +bindings +snippets +evil-commands))
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,15 @@
|
||||||
;;; private/default/config.el -*- lexical-binding: t; -*-
|
;;; private/default/config.el -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
(load! +bindings)
|
(if (featurep! +bindings) (load! +bindings))
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;; Plugins
|
;; Plugins
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(def-package! emacs-snippets :after yasnippet)
|
(def-package! emacs-snippets
|
||||||
|
:if (featurep! +snippets)
|
||||||
|
:after yasnippet)
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
@ -22,63 +24,65 @@
|
||||||
|
|
||||||
|
|
||||||
(when (featurep 'evil)
|
(when (featurep 'evil)
|
||||||
(load! +evil-commands)
|
(when (featurep! +evil-commands)
|
||||||
|
(load! +evil-commands))
|
||||||
|
|
||||||
;; Makes ; and , the universal repeat-keys in evil-mode
|
(when (featurep! +bindings)
|
||||||
(defmacro do-repeat! (command next-func prev-func)
|
;; Makes ; and , the universal repeat-keys in evil-mode
|
||||||
"Repeat motions with ;/,"
|
(defmacro do-repeat! (command next-func prev-func)
|
||||||
(let ((fn-sym (intern (format "+evil*repeat-%s" command))))
|
"Repeat motions with ;/,"
|
||||||
`(progn
|
(let ((fn-sym (intern (format "+evil*repeat-%s" command))))
|
||||||
(defun ,fn-sym (&rest _)
|
`(progn
|
||||||
(define-key evil-motion-state-map (kbd ";") ',next-func)
|
(defun ,fn-sym (&rest _)
|
||||||
(define-key evil-motion-state-map (kbd ",") ',prev-func))
|
(define-key evil-motion-state-map (kbd ";") ',next-func)
|
||||||
(advice-add #',command :before #',fn-sym))))
|
(define-key evil-motion-state-map (kbd ",") ',prev-func))
|
||||||
|
(advice-add #',command :before #',fn-sym))))
|
||||||
|
|
||||||
;; n/N
|
;; n/N
|
||||||
(do-repeat! evil-ex-search-next evil-ex-search-next evil-ex-search-previous)
|
(do-repeat! evil-ex-search-next evil-ex-search-next evil-ex-search-previous)
|
||||||
(do-repeat! evil-ex-search-previous evil-ex-search-next evil-ex-search-previous)
|
(do-repeat! evil-ex-search-previous evil-ex-search-next evil-ex-search-previous)
|
||||||
(do-repeat! evil-ex-search-forward evil-ex-search-next evil-ex-search-previous)
|
(do-repeat! evil-ex-search-forward evil-ex-search-next evil-ex-search-previous)
|
||||||
(do-repeat! evil-ex-search-backward evil-ex-search-next evil-ex-search-previous)
|
(do-repeat! evil-ex-search-backward evil-ex-search-next evil-ex-search-previous)
|
||||||
|
|
||||||
;; f/F/t/T/s/S
|
;; f/F/t/T/s/S
|
||||||
(after! evil-snipe
|
(after! evil-snipe
|
||||||
(setq evil-snipe-repeat-keys nil
|
(setq evil-snipe-repeat-keys nil
|
||||||
evil-snipe-override-evil-repeat-keys nil) ; causes problems with remapped ;
|
evil-snipe-override-evil-repeat-keys nil) ; causes problems with remapped ;
|
||||||
|
|
||||||
(do-repeat! evil-snipe-f evil-snipe-repeat evil-snipe-repeat-reverse)
|
(do-repeat! evil-snipe-f evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||||
(do-repeat! evil-snipe-F evil-snipe-repeat evil-snipe-repeat-reverse)
|
(do-repeat! evil-snipe-F evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||||
(do-repeat! evil-snipe-t evil-snipe-repeat evil-snipe-repeat-reverse)
|
(do-repeat! evil-snipe-t evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||||
(do-repeat! evil-snipe-T evil-snipe-repeat evil-snipe-repeat-reverse)
|
(do-repeat! evil-snipe-T evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||||
(do-repeat! evil-snipe-s evil-snipe-repeat evil-snipe-repeat-reverse)
|
(do-repeat! evil-snipe-s evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||||
(do-repeat! evil-snipe-S evil-snipe-repeat evil-snipe-repeat-reverse)
|
(do-repeat! evil-snipe-S evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||||
(do-repeat! evil-snipe-x evil-snipe-repeat evil-snipe-repeat-reverse)
|
(do-repeat! evil-snipe-x evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||||
(do-repeat! evil-snipe-X evil-snipe-repeat evil-snipe-repeat-reverse))
|
(do-repeat! evil-snipe-X evil-snipe-repeat evil-snipe-repeat-reverse))
|
||||||
|
|
||||||
;; */#
|
;; */#
|
||||||
(after! evil-visualstar
|
(after! evil-visualstar
|
||||||
(do-repeat! evil-visualstar/begin-search-forward
|
(do-repeat! evil-visualstar/begin-search-forward
|
||||||
evil-ex-search-next evil-ex-search-previous)
|
evil-ex-search-next evil-ex-search-previous)
|
||||||
(do-repeat! evil-visualstar/begin-search-backward
|
(do-repeat! evil-visualstar/begin-search-backward
|
||||||
evil-ex-search-previous evil-ex-search-next))
|
evil-ex-search-previous evil-ex-search-next))
|
||||||
|
|
||||||
;; lazy-load `evil-easymotion'
|
;; lazy-load `evil-easymotion'
|
||||||
(map! :m "gs" #'+default/easymotion)
|
(map! :m "gs" #'+default/easymotion)
|
||||||
(defun +default/easymotion ()
|
(defun +default/easymotion ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((prefix (this-command-keys)))
|
(let ((prefix (this-command-keys)))
|
||||||
(evilem-default-keybindings prefix)
|
(evilem-default-keybindings prefix)
|
||||||
(map! :map evilem-map
|
(map! :map evilem-map
|
||||||
"n" (evilem-create #'evil-ex-search-next)
|
"n" (evilem-create #'evil-ex-search-next)
|
||||||
"N" (evilem-create #'evil-ex-search-previous)
|
"N" (evilem-create #'evil-ex-search-previous)
|
||||||
"s" (evilem-create #'evil-snipe-repeat
|
"s" (evilem-create #'evil-snipe-repeat
|
||||||
:pre-hook (save-excursion (call-interactively #'evil-snipe-s))
|
:pre-hook (save-excursion (call-interactively #'evil-snipe-s))
|
||||||
:bind ((evil-snipe-scope 'buffer)
|
:bind ((evil-snipe-scope 'buffer)
|
||||||
(evil-snipe-enable-highlight)
|
(evil-snipe-enable-highlight)
|
||||||
(evil-snipe-enable-incremental-highlight)))
|
(evil-snipe-enable-incremental-highlight)))
|
||||||
"S" (evilem-create #'evil-snipe-repeat-reverse
|
"S" (evilem-create #'evil-snipe-repeat-reverse
|
||||||
:pre-hook (save-excursion (call-interactively #'evil-snipe-s))
|
:pre-hook (save-excursion (call-interactively #'evil-snipe-s))
|
||||||
:bind ((evil-snipe-scope 'buffer)
|
:bind ((evil-snipe-scope 'buffer)
|
||||||
(evil-snipe-enable-highlight)
|
(evil-snipe-enable-highlight)
|
||||||
(evil-snipe-enable-incremental-highlight))))
|
(evil-snipe-enable-incremental-highlight))))
|
||||||
(set-transient-map evilem-map)
|
(set-transient-map evilem-map)
|
||||||
(which-key-reload-key-sequence prefix))))
|
(which-key-reload-key-sequence prefix)))))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue