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 |
35
|
14
|
;; paredit-map |
39
|
15
|
(require 'default) |
35
|
16
|
(defvar-keymap parens-map |
|
17
|
:doc "parens-minor-mode keymap." |
|
18
|
:repeat (:enter) |
|
19
|
:prefix 'parens-map |
|
20
|
"u" #'backward-up-list |
|
21
|
"f" #'forward-sexp |
|
22
|
"b" #'backward-sexp |
|
23
|
"d" #'down-list |
|
24
|
"k" #'kill-sexp |
|
25
|
"n" #'paredit-forward |
|
26
|
"p" #'paredit-backward |
|
27
|
"K" #'paredit-kill |
|
28
|
"]" #'paredit-forward-slurp-sexp |
|
29
|
"[" #'paredit-backward-slurp-sexp |
|
30
|
"}" #'paredit-forward-barf-sexp |
|
31
|
"{" #'paredit-backward-barf-sexp |
|
32
|
"C" #'paredit-convolute-sexp |
|
33
|
"J" #'paredit-join-sexps |
|
34
|
"S" #'paredit-split-sexp |
|
35
|
"R" #'paredit-raise-sexp |
|
36
|
"\\" #'indent-region |
|
37
|
"/" #'undo |
|
38
|
"t" #'transpose-sexps |
|
39
|
"x" #'eval-defun) |
|
40
|
|
30
|
41
|
(defvar-keymap toggle-map |
|
42
|
:doc "User-specified keymap for mode toggles. Usually bound to 'C-c c SPC'." |
|
43
|
:prefix 'toggle-map |
|
44
|
"v" #'global-visual-line-mode |
|
45
|
"h" #'global-hl-line-mode |
|
46
|
"l" #'global-line-numbers-mode |
|
47
|
"L" #'global-display-line-numbers-mode |
|
48
|
"a" #'gpm-mouse-mode |
|
49
|
"r" #'refill-mode |
38
|
50
|
"o" #'outline-minor-mode |
|
51
|
"O" #'allout-mode |
30
|
52
|
"R" #'global-auto-revert-mode |
|
53
|
"t" #'toggle-frame-tab-bar |
|
54
|
"d" #'toggle-debug-on-error |
31
|
55
|
"SPC" #'toggle-macro-recording |
|
56
|
"w" #'toggle-theme) |
30
|
57
|
|
|
58
|
(defvar-keymap status-map |
|
59
|
:doc "User-specified keymap for status functions. Usually bound to 'C-c c .'." |
|
60
|
"l" #'eglot-list-connections |
|
61
|
"p" #'list-processes |
|
62
|
"t" #'list-threads |
|
63
|
"a" #'list-abbrevs |
|
64
|
"c" #'list-timers |
|
65
|
"d" #'list-dynamic-libraries |
|
66
|
"P" #'list-packages) |
|
67
|
|
31
|
68
|
(defvar-keymap server-map |
|
69
|
:doc "User-specified keymap for server functions. Usually bound to 'C-c c q'." |
|
70
|
"q" #'kill-emacs |
|
71
|
"r" #'kill-emacs-restart) |
|
72
|
|
|
73
|
(defvar-keymap review-map |
|
74
|
:doc "User-specified keymap for review functions. Usually bound to 'C-c c r'." |
|
75
|
"s" #'flyspell-buffer |
|
76
|
"SPC" #'whitespace-cleanup) |
|
77
|
|
30
|
78
|
(defvar-keymap user-map |
|
79
|
:doc "User-specified keymap usually bound to 'C-c c' and populated in 'custom.el'." |
|
80
|
:prefix 'user-map |
|
81
|
"c" #'org-capture |
|
82
|
"l" #'org-store-link |
31
|
83
|
"f" #'load-file |
|
84
|
"u" #'compile |
30
|
85
|
"a" #'org-agenda |
|
86
|
"<return>" #'shell |
|
87
|
"C-<return>" #'term |
|
88
|
"S-<return>" #'eshell |
|
89
|
"!" #'async-shell-command |
|
90
|
"s" #'speedbar |
|
91
|
"SPC" toggle-map |
|
92
|
"." status-map |
31
|
93
|
"r" review-map |
|
94
|
"q" server-map |
35
|
95
|
"(" parens-map |
34
|
96
|
"d i" #'image-dired |
30
|
97
|
"<tab>" #'outline-cycle |
|
98
|
"<backtab>" #'outline-cycle-buffer |
34
|
99
|
"z" #'scratch-buffer |
|
100
|
"C-z" #'scratch-new |
31
|
101
|
"Z" #'default-scratch-buffer |
|
102
|
";" #'prog-comment-dwim |
|
103
|
"C-;" #'prog-comment-timestamp-keyword) |
|
104
|
|
|
105
|
;;; Modes |
33
|
106
|
(add-hook |
|
107
|
'conf-toml-mode-hook |
|
108
|
(lambda () |
|
109
|
(keymap-set conf-toml-mode-map "C-c C-c C-r" #'rust-run) |
|
110
|
(keymap-set conf-toml-mode-map "C-c C-c C-u" #'rust-compile) |
|
111
|
(keymap-set conf-toml-mode-map "C-c C-c C-t" #'rust-test))) |
30
|
112
|
|
|
113
|
;;; C-x |
34
|
114
|
(keymap-set ctl-x-map "C-b" #'ibuffer) |
30
|
115
|
|
|
116
|
;;; C-x r |
|
117
|
(keymap-set ctl-x-r-map "SPC" #'point-to-register) |
|
118
|
(keymap-set ctl-x-r-map "C-l" #'list-registers) |
|
119
|
(keymap-set ctl-x-r-map "C-b" #'buffer-to-register) |
|
120
|
(keymap-set ctl-x-r-map "C-f" #'file-query-to-register) |
|
121
|
(keymap-set ctl-x-r-map "C-r" #'copy-register) |
|
122
|
|
|
123
|
;;; C-x x |
|
124
|
|
|
125
|
;;; Global |
|
126
|
(keymap-global-set "C-c c" user-map) |
34
|
127
|
(keymap-global-set "<remap> <tab-to-tab-stop>" #'imenu) |
35
|
128
|
(keymap-global-set "<XF86Paste>" parens-map) |
27
|
129
|
|
|
130
|
(provide 'keys) |
|
131
|
;; keys.el ends here |