changeset 34: | 882a5c1e7b9f |
parent: | e3b0ec661dfa |
child: | b8b2433003ef |
author: | ellis <ellis@rwest.io> |
date: | Sun, 05 Nov 2023 00:33:48 -0400 |
permissions: | -rw-r--r-- |
description: | emacs config ellis.el example custom config file removed vc utils (site-specific) keys/defaults |
26 | 1 | ;;; keys.el --- emacs keys -*- lexical-binding: t -*- |
2 | ||
3 | ;; default keybinds |
|
4 | ||
5 | ;;; Commentary: |
|
6 | ||
7 | ;; I encourage you to remap these keys as you see fit. Where possible, |
|
8 | ;; wrap your custom bindings in a keymap instead of redefining the |
|
9 | ;; global defaults defined here. |
|
10 | ||
11 | ;;; Code: |
|
12 | ||
30 | 13 | ;;; User keys |
14 | (defvar-keymap toggle-map |
|
15 | :doc "User-specified keymap for mode toggles. Usually bound to 'C-c c SPC'." |
|
16 | :prefix 'toggle-map |
|
17 | "v" #'global-visual-line-mode |
|
18 | "h" #'global-hl-line-mode |
|
19 | "l" #'global-line-numbers-mode |
|
20 | "L" #'global-display-line-numbers-mode |
|
21 | "a" #'gpm-mouse-mode |
|
22 | "r" #'refill-mode |
|
23 | "R" #'global-auto-revert-mode |
|
24 | "t" #'toggle-frame-tab-bar |
|
25 | "d" #'toggle-debug-on-error |
|
31 | 26 | "SPC" #'toggle-macro-recording |
27 | "w" #'toggle-theme) |
|
30 | 28 | |
29 | (defvar-keymap status-map |
|
30 | :doc "User-specified keymap for status functions. Usually bound to 'C-c c .'." |
|
31 | "l" #'eglot-list-connections |
|
32 | "p" #'list-processes |
|
33 | "t" #'list-threads |
|
34 | "a" #'list-abbrevs |
|
35 | "c" #'list-timers |
|
36 | "d" #'list-dynamic-libraries |
|
37 | "P" #'list-packages) |
|
38 | ||
31 | 39 | (defvar-keymap server-map |
40 | :doc "User-specified keymap for server functions. Usually bound to 'C-c c q'." |
|
41 | "q" #'kill-emacs |
|
42 | "r" #'kill-emacs-restart) |
|
43 | ||
44 | (defvar-keymap review-map |
|
45 | :doc "User-specified keymap for review functions. Usually bound to 'C-c c r'." |
|
46 | "s" #'flyspell-buffer |
|
47 | "SPC" #'whitespace-cleanup) |
|
48 | ||
30 | 49 | (defvar-keymap user-map |
50 | :doc "User-specified keymap usually bound to 'C-c c' and populated in 'custom.el'." |
|
51 | :prefix 'user-map |
|
52 | "c" #'org-capture |
|
53 | "l" #'org-store-link |
|
31 | 54 | "f" #'load-file |
55 | "u" #'compile |
|
30 | 56 | "a" #'org-agenda |
57 | "<return>" #'shell |
|
58 | "C-<return>" #'term |
|
59 | "S-<return>" #'eshell |
|
60 | "!" #'async-shell-command |
|
61 | "s" #'speedbar |
|
62 | "SPC" toggle-map |
|
63 | "." status-map |
|
31 | 64 | "r" review-map |
65 | "q" server-map |
|
34 | 66 | "d i" #'image-dired |
30 | 67 | "<tab>" #'outline-cycle |
68 | "<backtab>" #'outline-cycle-buffer |
|
34 | 69 | "z" #'scratch-buffer |
70 | "C-z" #'scratch-new |
|
31 | 71 | "Z" #'default-scratch-buffer |
72 | ";" #'prog-comment-dwim |
|
73 | "C-;" #'prog-comment-timestamp-keyword) |
|
74 | ||
75 | ;;; Modes |
|
33 | 76 | (add-hook |
77 | 'conf-toml-mode-hook |
|
78 | (lambda () |
|
79 | (keymap-set conf-toml-mode-map "C-c C-c C-r" #'rust-run) |
|
80 | (keymap-set conf-toml-mode-map "C-c C-c C-u" #'rust-compile) |
|
81 | (keymap-set conf-toml-mode-map "C-c C-c C-t" #'rust-test))) |
|
30 | 82 | |
83 | ;;; C-x |
|
34 | 84 | (keymap-set ctl-x-map "C-b" #'ibuffer) |
30 | 85 | |
86 | ;;; C-x r |
|
87 | (keymap-set ctl-x-r-map "SPC" #'point-to-register) |
|
88 | (keymap-set ctl-x-r-map "C-l" #'list-registers) |
|
89 | (keymap-set ctl-x-r-map "C-b" #'buffer-to-register) |
|
90 | (keymap-set ctl-x-r-map "C-f" #'file-query-to-register) |
|
91 | (keymap-set ctl-x-r-map "C-r" #'copy-register) |
|
92 | ||
93 | ;;; C-x x |
|
94 | ||
95 | ;;; Global |
|
96 | (keymap-global-set "C-c c" user-map) |
|
34 | 97 | (keymap-global-set "<remap> <tab-to-tab-stop>" #'imenu) |
27 | 98 | |
99 | (provide 'keys) |
|
100 | ;; keys.el ends here |