changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate emacs/keys.el

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