git.fiddlerwoaroof.com
Browse code

emacs: evil-mode improvements dollar-brace wrap, tab keybindings

Ed Langley authored on 27/07/2019 22:19:20
Showing 1 changed files
... ...
@@ -2,6 +2,12 @@
2 2
   (interactive "P")
3 3
   (sp-wrap-with-pair "\""))
4 4
 
5
+
6
+(defun wrap-in-dollar-brace
7
+    (&optional arg)
8
+  (interactive "P")
9
+  (sp-wrap-with-pair "${"))
10
+
5 11
 (use-package evil
6 12
   :ensure t
7 13
   :config
... ...
@@ -17,80 +23,7 @@
17 23
 
18 24
   (define-key evil-insert-state-map (kbd "TAB") 'company-indent-or-complete-common)
19 25
   (evil-mode)
20
-  (use-package evil-smartparens
21
-    :ensure t
22
-    :after smartparens
23
-    :config
24
-    (evil-smartparens-mode 1)
25
-
26
-
27
-    (progn ;; wrapping
28
-      (define-key evil-normal-state-map ",W" 'sp-wrap-round)
29
-      (define-key cider-mode-map (kbd "C-, W") 'sp-wrap-round)
30
-      (define-key cider-mode-map (kbd "C-, C-W") 'sp-wrap-round)
31
-
32
-      (define-key evil-normal-state-map ",w(" 'sp-wrap-round)
33
-      (define-key evil-normal-state-map ",w)" 'sp-wrap-round)
34
-      (define-key cider-mode-map (kbd "C-, w (") 'sp-wrap-round)
35
-      (define-key cider-mode-map (kbd "C-, w )") 'sp-wrap-round)
36
-
37
-      (define-key evil-normal-state-map ",w{" 'sp-wrap-curly)
38
-      (define-key evil-normal-state-map ",w}" 'sp-wrap-curly)
39
-      (define-key cider-mode-map (kbd "C-, w {") 'sp-wrap-curly)
40
-      (define-key cider-mode-map (kbd "C-, w }") 'sp-wrap-curly)
41
-
42
-      (define-key evil-normal-state-map ",w[" 'sp-wrap-square)
43
-      (define-key evil-normal-state-map ",w]" 'sp-wrap-square)
44
-      (define-key cider-mode-map (kbd "C-, w [") 'sp-wrap-square)
45
-      (define-key cider-mode-map (kbd "C-, w ]") 'sp-wrap-square)
46
-
47
-      (define-key evil-normal-state-map ",w\"" 'wrap-with-doublequote)
48
-      (define-key cider-mode-map (kbd "C-, w \"") 'sp-wrap-doublequote))
49
-
50
-    (progn ;; splicing
51
-      (define-key evil-normal-state-map ",S" 'sp-splice-sexp)
52
-      (define-key cider-mode-map (kbd "C-, S") 'sp-splice-sexp)
53
-      (define-key cider-mode-map (kbd "C-, C-S") 'sp-splice-sexp)
54
-      (define-key evil-normal-state-map ",A" 'sp-splice-sexp-killing-backward)
55
-      (define-key cider-mode-map (kbd "C-, A") 'sp-splice-sexp-killing-backward)
56
-      (define-key cider-mode-map (kbd "C-, C-A") 'sp-splice-sexp-killing-backward)
57
-      (define-key evil-normal-state-map ",D" 'sp-splice-sexp-killing-forward)
58
-      (define-key cider-mode-map (kbd "C-, D") 'sp-splice-sexp-killing-forward)
59
-      (define-key cider-mode-map (kbd "C-, C-D") 'sp-splice-sexp-killing-forward)
60
-      (define-key evil-normal-state-map ",F" 'sp-splice-sexp-killing-around)
61
-      (define-key cider-mode-map (kbd "C-, F") 'sp-splice-sexp-killing-around)
62
-      (define-key cider-mode-map (kbd "C-, C-F") 'sp-splice-sexp-killing-around))
63
-
64
-    (progn ;; barf/slurp
65
-      (define-key evil-normal-state-map ",," 'sp-backward-barf-sexp)
66
-      (define-key cider-mode-map (kbd "C-, ,") 'sp-backward-barf-sexp)
67
-      (define-key cider-mode-map (kbd "C-, C-,") 'sp-backward-barf-sexp)
68
-      (define-key evil-normal-state-map ",." 'sp-forward-barf-sexp)
69
-      (define-key cider-mode-map (kbd "C-, .") 'sp-forward-barf-sexp)
70
-      (define-key cider-mode-map (kbd "C-, C-.") 'sp-forward-barf-sexp)
71
-      (define-key evil-normal-state-map ",<" 'sp-backward-slurp-sexp)
72
-      (define-key cider-mode-map (kbd "C-, <") 'sp-backward-slurp-sexp)
73
-      (define-key cider-mode-map (kbd "C-, C-<") 'sp-backward-slurp-sexp)
74
-      (define-key evil-normal-state-map ",>" 'sp-forward-slurp-sexp)
75
-      (define-key cider-mode-map (kbd "C-, >") 'sp-forward-slurp-sexp)
76
-      (define-key cider-mode-map (kbd "C-, C->") 'sp-forward-slurp-sexp)
77
-      )
78
-
79
-    (progn ;; misc
80
-      (define-key evil-normal-state-map ",~" 'sp-convolute-sexp)
81
-      (define-key evil-normal-state-map ",a" 'sp-absorb-sexp)
82
-      (define-key evil-normal-state-map ",e" 'sp-emit-sexp)
83
-      (define-key evil-normal-state-map ",`" 'sp-clone-sexp)
84
-      (define-key evil-normal-state-map ",J" 'sp-join-sexp)
85
-      (define-key evil-normal-state-map ",|" 'sp-split-sexp))
86
-
87
-
88
-    (progn ;; narrowing
89
-      (define-key evil-normal-state-map " n(" 'sp-narrow-to-sexp)
90
-      (define-key evil-normal-state-map " n)" 'sp-narrow-to-sexp)
91
-      (define-key evil-normal-state-map " nn" 'narrow-to-defun)
92
-      (define-key evil-normal-state-map " nr" 'narrow-to-region)
93
-      (define-key evil-normal-state-map " nw" 'widen)))
26
+
94 27
 
95 28
   (progn ;; navigation
96 29
     (define-key evil-normal-state-map " f" 'helm-projectile)
... ...
@@ -121,31 +54,103 @@
121 54
                     evil-window-move-very-bottom))
122 55
       (advice-add func
123 56
                   :around #'config/fix-evil-window-move)))
57
+  )
124 58
 
125
-  ;; (use-package  evil-paredit
126
-  ;;   :ensure t
127
-  ;;   :after paredit
128
-  ;;   :config
129
-  ;;   (evil-paredit-mode))
130
-
131
-
132
-  ;;(use-package evil-numbers
133
-  ;;  :ensure t
134
-  ;;  :config
135
-  ;;  (global-set-key (kbd "C-c +") 'evil-numbers/inc-at-pt)
136
-  ;;  (global-set-key (kbd "C-c -") 'evil-numbers/dec-at-pt))
59
+(use-package evil-surround
60
+  :ensure t
61
+  :after evil
62
+  :config
63
+  (global-evil-surround-mode))
137 64
 
138
-  (use-package evil-surround
139
-    :ensure t
140
-    :config
141
-    (global-evil-surround-mode))
65
+(use-package evil-leader
66
+  :after evil
67
+  :config (evil-leader/set-leader "ß"))
142 68
 
143
-  (use-package evil-leader
144
-    :config (evil-leader/set-leader "ß")))
69
+(use-package evil-smartparens
70
+  :ensure t
71
+  :after evil smartparens
72
+  :config
73
+  (evil-smartparens-mode 1)
74
+
75
+  (progn ;; wrapping
76
+    (define-key evil-normal-state-map ",W" 'sp-wrap-round)
77
+    (define-key cider-mode-map (kbd "C-, W") 'sp-wrap-round)
78
+    (define-key cider-mode-map (kbd "C-, C-W") 'sp-wrap-round)
79
+
80
+    (define-key evil-normal-state-map ",w(" 'sp-wrap-round)
81
+    (define-key evil-normal-state-map ",w)" 'sp-wrap-round)
82
+    (define-key cider-mode-map (kbd "C-, w (") 'sp-wrap-round)
83
+    (define-key cider-mode-map (kbd "C-, w )") 'sp-wrap-round)
84
+
85
+    (define-key evil-normal-state-map ",w$" 'wrap-in-dollar-brace)
86
+
87
+    (define-key evil-normal-state-map ",w{" 'sp-wrap-curly)
88
+    (define-key evil-normal-state-map ",w}" 'sp-wrap-curly)
89
+    (define-key cider-mode-map (kbd "C-, w {") 'sp-wrap-curly)
90
+    (define-key cider-mode-map (kbd "C-, w }") 'sp-wrap-curly)
91
+
92
+    (define-key evil-normal-state-map ",w[" 'sp-wrap-square)
93
+    (define-key evil-normal-state-map ",w]" 'sp-wrap-square)
94
+    (define-key cider-mode-map (kbd "C-, w [") 'sp-wrap-square)
95
+    (define-key cider-mode-map (kbd "C-, w ]") 'sp-wrap-square)
96
+
97
+    (define-key evil-normal-state-map ",w\"" 'wrap-with-doublequote)
98
+    (define-key cider-mode-map (kbd "C-, w \"") 'sp-wrap-doublequote))
99
+
100
+  (progn ;; splicing
101
+    (define-key evil-normal-state-map ",S" 'sp-splice-sexp)
102
+    (define-key cider-mode-map (kbd "C-, S") 'sp-splice-sexp)
103
+    (define-key cider-mode-map (kbd "C-, C-S") 'sp-splice-sexp)
104
+    (define-key evil-normal-state-map ",A" 'sp-splice-sexp-killing-backward)
105
+    (define-key cider-mode-map (kbd "C-, A") 'sp-splice-sexp-killing-backward)
106
+    (define-key cider-mode-map (kbd "C-, C-A") 'sp-splice-sexp-killing-backward)
107
+    (define-key evil-normal-state-map ",D" 'sp-splice-sexp-killing-forward)
108
+    (define-key cider-mode-map (kbd "C-, D") 'sp-splice-sexp-killing-forward)
109
+    (define-key cider-mode-map (kbd "C-, C-D") 'sp-splice-sexp-killing-forward)
110
+    (define-key evil-normal-state-map ",F" 'sp-splice-sexp-killing-around)
111
+    (define-key cider-mode-map (kbd "C-, F") 'sp-splice-sexp-killing-around)
112
+    (define-key cider-mode-map (kbd "C-, C-F") 'sp-splice-sexp-killing-around))
113
+
114
+  (progn ;; barf/slurp
115
+    (define-key evil-normal-state-map ",," 'sp-backward-barf-sexp)
116
+    (define-key cider-mode-map (kbd "C-, ,") 'sp-backward-barf-sexp)
117
+    (define-key cider-mode-map (kbd "C-, C-,") 'sp-backward-barf-sexp)
118
+    (define-key evil-normal-state-map ",." 'sp-forward-barf-sexp)
119
+    (define-key cider-mode-map (kbd "C-, .") 'sp-forward-barf-sexp)
120
+    (define-key cider-mode-map (kbd "C-, C-.") 'sp-forward-barf-sexp)
121
+    (define-key evil-normal-state-map ",<" 'sp-backward-slurp-sexp)
122
+    (define-key cider-mode-map (kbd "C-, <") 'sp-backward-slurp-sexp)
123
+    (define-key cider-mode-map (kbd "C-, C-<") 'sp-backward-slurp-sexp)
124
+    (define-key evil-normal-state-map ",>" 'sp-forward-slurp-sexp)
125
+    (define-key cider-mode-map (kbd "C-, >") 'sp-forward-slurp-sexp)
126
+    (define-key cider-mode-map (kbd "C-, C->") 'sp-forward-slurp-sexp))
127
+
128
+  (progn ;; misc
129
+    (define-key evil-normal-state-map ",~" 'sp-convolute-sexp)
130
+    (define-key evil-normal-state-map ",a" 'sp-absorb-sexp)
131
+    (define-key evil-normal-state-map ",e" 'sp-emit-sexp)
132
+    (define-key evil-normal-state-map ",`" 'sp-clone-sexp)
133
+    (define-key evil-normal-state-map ",J" 'sp-join-sexp)
134
+    (define-key evil-normal-state-map ",|" 'sp-split-sexp))
135
+
136
+  (progn ;; narrowing
137
+    (define-key evil-normal-state-map " n(" 'sp-narrow-to-sexp)
138
+    (define-key evil-normal-state-map " n)" 'sp-narrow-to-sexp)
139
+    (define-key evil-normal-state-map " nn" 'narrow-to-defun)
140
+    (define-key evil-normal-state-map " nr" 'narrow-to-region)
141
+    (define-key evil-normal-state-map " nw" 'widen)))
145 142
 
146 143
 (use-package centaur-tabs
147 144
   :ensure t
145
+  :after evil
148 146
   :config
147
+  (setq centaur-tabs-adjust-buffer-order t
148
+        centaur-tabs-adjust-buffer-order 'left)
149
+  (centaur-tabs-enable-buffer-reordering)
150
+
149 151
   (define-key evil-normal-state-map "gt" 'centaur-tabs-forward-tab)
152
+  (define-key global-map (kbd "<header-line> <wheel-up>") 'centaur-tabs-forward-tab)
153
+  (define-key global-map (kbd "s-}") 'centaur-tabs-forward-tab)
150 154
   (define-key evil-normal-state-map "gT" 'centaur-tabs-backward-tab)
151
-  )
155
+  (define-key global-map (kbd "<header-line> <wheel-down>") 'centaur-tabs-backward-tab)
156
+  (define-key global-map (kbd "s-{") 'centaur-tabs-backward-tab))