diff options
Diffstat (limited to 'init.el')
-rw-r--r-- | init.el | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/init.el b/init.el index d7a55d4..6889957 100644 --- a/init.el +++ b/init.el | |||
@@ -9,7 +9,8 @@ | |||
9 | ;; - Be kind to yourself. | 9 | ;; - Be kind to yourself. |
10 | ;; - Make good choices. | 10 | ;; - Make good choices. |
11 | 11 | ||
12 | (progn | 12 | (yoke +emacs (locate-user-emacs-file "lisp/") |
13 | (require '+emacs) | ||
13 | ;; Settings | 14 | ;; Settings |
14 | (setq truncate-string-ellipsis "…" | 15 | (setq truncate-string-ellipsis "…" |
15 | ring-bell-function #'ignore | 16 | ring-bell-function #'ignore |
@@ -19,9 +20,23 @@ | |||
19 | "C-x C-k" #'kill-current-buffer | 20 | "C-x C-k" #'kill-current-buffer |
20 | "C-/" #'undo-only | 21 | "C-/" #'undo-only |
21 | "C-?" #'undo-redo | 22 | "C-?" #'undo-redo |
23 | "C-x C-c" #'+save-buffers-quit | ||
24 | "M-SPC" #'+cycle-spacing | ||
25 | "M-/" #'hippie-expand | ||
26 | "M-=" #'count-words | ||
27 | "C-x C-b" #'ibuffer | ||
28 | "C-x 4 n" #'clone-buffer | ||
29 | "S-<down-mouse-1>" #'mouse-set-mark | ||
30 | "C-x 0" #'+delete-window-or-bury-buffer | ||
22 | "M-j" nil | 31 | "M-j" nil |
23 | "<Scroll_Lock>" nil) | 32 | "<Scroll_Lock>" nil) |
33 | ;; Hooks | ||
34 | (add-hook 'after-save-hook #'executable-make-buffer-file-executable-if-script-p) | ||
35 | (add-hook 'minibuffer-setup-hook #'cursor-intangible-mode) | ||
36 | (add-hook 'find-file-not-found-functions #'+auto-create-missing-dirs) | ||
24 | ;; Advice | 37 | ;; Advice |
38 | (add-function :after after-focus-change-function #'+save-some-buffers-debounce) | ||
39 | (advice-add 'keyboard-escape-quit :around #'keyboard-escape-quit-keep-window-open) | ||
25 | (define-advice keyboard-escape-quit (:around (fn &rest r)) | 40 | (define-advice keyboard-escape-quit (:around (fn &rest r)) |
26 | "Don't close quits on `keyboard-escape-quit'." | 41 | "Don't close quits on `keyboard-escape-quit'." |
27 | (let ((buffer-quit-function #'ignore)) | 42 | (let ((buffer-quit-function #'ignore)) |
@@ -29,6 +44,13 @@ | |||
29 | ;; Themes | 44 | ;; Themes |
30 | (load-theme 'modus-operandi)) | 45 | (load-theme 'modus-operandi)) |
31 | 46 | ||
47 | (yoke isearch nil | ||
48 | (define-keys (current-global-map) | ||
49 | "C-s" #'isearch-forward-regexp | ||
50 | "C-r" #'isearch-backward-regexp | ||
51 | "C-M-s" #'isearch-forward | ||
52 | "C-M-r" #'isearch-backward)) | ||
53 | |||
32 | (yoke auth-source nil | 54 | (yoke auth-source nil |
33 | (setq auth-sources `(default "secrets:passwords")) | 55 | (setq auth-sources `(default "secrets:passwords")) |
34 | (setq-local-hook authinfo-mode-hook | 56 | (setq-local-hook authinfo-mode-hook |
@@ -52,7 +74,6 @@ | |||
52 | "C-c k" #'consult-kmacro | 74 | "C-c k" #'consult-kmacro |
53 | ;; C-x bindings (ctl-x-map) | 75 | ;; C-x bindings (ctl-x-map) |
54 | "C-x M-:" #'consult-complex-command | 76 | "C-x M-:" #'consult-complex-command |
55 | "<f2>" #'consult-buffer | ||
56 | "C-x b" #'consult-buffer | 77 | "C-x b" #'consult-buffer |
57 | "C-x 4 b" #'consult-buffer-other-window | 78 | "C-x 4 b" #'consult-buffer-other-window |
58 | "C-x 5 b" #'consult-buffer-other-frame | 79 | "C-x 5 b" #'consult-buffer-other-frame |
@@ -97,7 +118,7 @@ | |||
97 | (define-key org-mode-map (kbd "M-g o") #'consult-org-heading))) | 118 | (define-key org-mode-map (kbd "M-g o") #'consult-org-heading))) |
98 | 119 | ||
99 | (yoke orderless "https://github.com/oantolin/orderless" | 120 | (yoke orderless "https://github.com/oantolin/orderless" |
100 | (require 'orderless) | 121 | (require 'orderless) |
101 | (setq completion-styles '(substring orderless basic) | 122 | (setq completion-styles '(substring orderless basic) |
102 | completion-category-defaults nil | 123 | completion-category-defaults nil |
103 | completion-category-overrides '((file (styles basic partial-completion))) | 124 | completion-category-overrides '((file (styles basic partial-completion))) |
@@ -174,3 +195,12 @@ | |||
174 | 195 | ||
175 | (yoke minions "https://github.com/tarsius/minions" | 196 | (yoke minions "https://github.com/tarsius/minions" |
176 | (minions-mode)) | 197 | (minions-mode)) |
198 | |||
199 | (yoke magit "https://github.com/magit/magit" | ||
200 | :load (locate-user-emacs-file "yoke/magit/lisp") | ||
201 | :depends ((transient "https://github.com/magit/transient" | ||
202 | (locate-user-emacs-file "yoke/transient/lisp")) | ||
203 | (dash "https://github.com/magnars/dash.el") | ||
204 | (with-editor "https://github.com/magit/with-editor" | ||
205 | (locate-user-emacs-file "yoke/with-editor/lisp"))) | ||
206 | (autoload #'transient--with-suspended-override "transient")) | ||