diff options
-rw-r--r-- | README.md | 259 | ||||
-rw-r--r-- | config.org | 5 |
2 files changed, 9 insertions, 255 deletions
diff --git a/README.md b/README.md index 6a727f9..866b4d3 100644 --- a/README.md +++ b/README.md | |||
@@ -1,98 +1,9 @@ | |||
1 | Let’s configure Emacs using Org mode, they said. It’ll be fun, they said. | ||
1 | 2 | ||
2 | # Table of Contents | ||
3 | |||
4 | 1. [Pave the way](#org8865364) | ||
5 | 1. [Correct `exec-path`](#orga7e2c6f) | ||
6 | 2. [Package management](#org3148c95) | ||
7 | 1. [Straight.el](#orgfaed4fc) | ||
8 | 2. [Use-package](#org41bc53b) | ||
9 | 3. [Extra use-package keywords](#org1849e90) | ||
10 | 3. [Customize variables](#orgc528316) | ||
11 | 1. [Put customizations in a separate file](#orgf585c3e) | ||
12 | 2. [A macro for ease of customization](#orgad4e3a9) | ||
13 | 4. [Keep a tidy `~/.emacs`](#orgf4003c0) | ||
14 | 2. [Look and Feel](#org11edc2b) | ||
15 | 1. [Simplify the UI](#orgb076fea) | ||
16 | 1. [Tool bars and menu bars](#org586efe9) | ||
17 | 2. [Scroll bars](#org298e07a) | ||
18 | 3. [Dialog boxen](#org439037b) | ||
19 | 4. [Shorten confirmations](#orgbb289dc) | ||
20 | 5. [Remove the bell](#org2d64864) | ||
21 | 6. [Tell Ediff to setup windows better](#org0b4a638) | ||
22 | 2. [Tweak the remaining UI](#org2ca3449) | ||
23 | 1. [Fringes](#orgae020e2) | ||
24 | 2. [Minibuffer](#orgc8f4148) | ||
25 | 3. [Tabs](#org83e5b37) | ||
26 | 4. [Cursor](#org818f06f) | ||
27 | 5. [Buffer names](#org403cbfb) | ||
28 | 6. [Buffer boundaries](#org86d72cc) | ||
29 | 3. [Startup](#org06a8610) | ||
30 | 4. [Theme](#org3cecd0a) | ||
31 | 1. [Modeline](#org1cecd04) | ||
32 | 2. [Fonts](#org52f810d) | ||
33 | 3. [Interactivity](#orgb1b190a) | ||
34 | 1. [Selectrum](#orge91bc0a) | ||
35 | 2. [Prescient](#org2dec02d) | ||
36 | 3. [Consult](#org793390e) | ||
37 | 4. [Ignore case](#orgf0e1425) | ||
38 | 5. [Search](#orgcb1ee5e) | ||
39 | 6. [Mouse](#orgf588a26) | ||
40 | 4. [Persistence](#orgb6ade5d) | ||
41 | 1. [Save history](#org9a6f451) | ||
42 | 2. [Save places in files](#org3041895) | ||
43 | 3. [Recent files](#orgfddf139) | ||
44 | 1. [Easily navigate recent files](#org5211a84) | ||
45 | 4. [Undo](#org203b48b) | ||
46 | 5. [Editing](#org697ec47) | ||
47 | 1. [Operate visually on lines](#org958bd79) | ||
48 | 2. [Require a final newline](#orgc5ef3b6) | ||
49 | 3. [Killing & Yanking](#orgba62063) | ||
50 | 1. [Replace selection when typing](#orgcb04f02) | ||
51 | 2. [Save existing clipboard text into kill ring before replacing it](#orgdf80771) | ||
52 | 4. [So long mode](#org2252a8b) | ||
53 | 5. [Multiple cursors](#org6fe3b6b) | ||
54 | 6. [Expand region](#orgfe5b963) | ||
55 | 6. [Files](#org0b92a32) | ||
56 | 1. [Encoding](#orgf1babbf) | ||
57 | 1. [UTF-8](#org8dd350d) | ||
58 | 2. [Convert all files to UNIX-style line endings](#org34854a5) | ||
59 | 2. [Backups](#org184d029) | ||
60 | 3. [Auto-saves](#org72595b4) | ||
61 | 4. [Revert files](#orgd374486) | ||
62 | 5. [Add a timestamp to files](#org8ac0e64) | ||
63 | 7. [Programming](#org97bb90c) | ||
64 | 1. [Which function are we in?](#orgbcce753) | ||
65 | 2. [Parentheses](#org7d7c4d6) | ||
66 | 1. [Show parentheses](#orgbe3915d) | ||
67 | 2. [Smart parentheses](#org9415ceb) | ||
68 | 3. [Line numbers](#org2ebc45e) | ||
69 | 8. [Writing](#orge8c66c9) | ||
70 | 1. [Visual Fill Column](#org5278827) | ||
71 | 2. [Type nice-looking quote-type marks](#org63bd7b9) | ||
72 | 9. [Applications](#org50abb5d) | ||
73 | 1. [Magit](#orgf68bfba) | ||
74 | 2. [Org mode](#org66c3b6b) | ||
75 | 1. [Export to markdown](#org34de14b) | ||
76 | 2. [Make bullets look like bullets](#orge32cf6b) | ||
77 | 3. [A better return in Org mode](#org5d13ece) | ||
78 | 10. [Appendices](#org1c0423c) | ||
79 | 1. [Emacs' files](#orgea74573) | ||
80 | 1. [init.el](#org1ed6b18) | ||
81 | 2. [early-init.el](#org1e22a5e) | ||
82 | 2. [Ease tangling and loading of Emacs' init](#org50bd83d) | ||
83 | 3. [License](#org551e420) | ||
84 | 1. [Note on the license](#org15f94a8) | ||
85 | 4. [Keymaps for *this* file](#org3bda9ee) | ||
86 | |||
87 | |||
88 | |||
89 | <a id="org8865364"></a> | ||
90 | 3 | ||
91 | # Pave the way | 4 | # Pave the way |
92 | 5 | ||
93 | 6 | ||
94 | <a id="orga7e2c6f"></a> | ||
95 | |||
96 | ## Correct `exec-path` | 7 | ## Correct `exec-path` |
97 | 8 | ||
98 | (let ((win-downloads "c:/Users/aduckworth/Downloads")) | 9 | (let ((win-downloads "c:/Users/aduckworth/Downloads")) |
@@ -113,13 +24,9 @@ | |||
113 | (add-to-list 'exec-path path)))) | 24 | (add-to-list 'exec-path path)))) |
114 | 25 | ||
115 | 26 | ||
116 | <a id="org3148c95"></a> | ||
117 | |||
118 | ## Package management | 27 | ## Package management |
119 | 28 | ||
120 | 29 | ||
121 | <a id="orgfaed4fc"></a> | ||
122 | |||
123 | ### Straight.el | 30 | ### Straight.el |
124 | 31 | ||
125 | (defvar bootstrap-version) | 32 | (defvar bootstrap-version) |
@@ -136,8 +43,6 @@ | |||
136 | (load bootstrap-file nil 'nomessage)) | 43 | (load bootstrap-file nil 'nomessage)) |
137 | 44 | ||
138 | 45 | ||
139 | <a id="org41bc53b"></a> | ||
140 | |||
141 | ### Use-package | 46 | ### Use-package |
142 | 47 | ||
143 | (setq straight-use-package-by-default t) | 48 | (setq straight-use-package-by-default t) |
@@ -145,8 +50,6 @@ | |||
145 | (straight-use-package 'use-package) | 50 | (straight-use-package 'use-package) |
146 | 51 | ||
147 | 52 | ||
148 | <a id="org1849e90"></a> | ||
149 | |||
150 | ### Extra use-package keywords | 53 | ### Extra use-package keywords |
151 | 54 | ||
152 | 1. :custom-update | 55 | 1. :custom-update |
@@ -159,21 +62,15 @@ | |||
159 | (require 'use-package-custom-update) | 62 | (require 'use-package-custom-update) |
160 | 63 | ||
161 | 64 | ||
162 | <a id="orgc528316"></a> | ||
163 | |||
164 | ## Customize variables | 65 | ## Customize variables |
165 | 66 | ||
166 | 67 | ||
167 | <a id="orgf585c3e"></a> | ||
168 | |||
169 | ### Put customizations in a separate file | 68 | ### Put customizations in a separate file |
170 | 69 | ||
171 | (setq custom-file | 70 | (setq custom-file |
172 | (expand-file-name "custom.el" user-emacs-directory)) | 71 | (expand-file-name "custom.el" user-emacs-directory)) |
173 | 72 | ||
174 | 73 | ||
175 | <a id="orgad4e3a9"></a> | ||
176 | |||
177 | ### A macro for ease of customization | 74 | ### A macro for ease of customization |
178 | 75 | ||
179 | (defmacro cuss (var val &optional docstring) | 76 | (defmacro cuss (var val &optional docstring) |
@@ -182,8 +79,6 @@ | |||
182 | ',var ,val)) | 79 | ',var ,val)) |
183 | 80 | ||
184 | 81 | ||
185 | <a id="orgf4003c0"></a> | ||
186 | |||
187 | ## Keep a tidy `~/.emacs` | 82 | ## Keep a tidy `~/.emacs` |
188 | 83 | ||
189 | (use-package no-littering | 84 | (use-package no-littering |
@@ -208,18 +103,12 @@ | |||
208 | (make-directory (no-littering-expand-var-file-name dir) t)) | 103 | (make-directory (no-littering-expand-var-file-name dir) t)) |
209 | 104 | ||
210 | 105 | ||
211 | <a id="org11edc2b"></a> | ||
212 | |||
213 | # Look and Feel | 106 | # Look and Feel |
214 | 107 | ||
215 | 108 | ||
216 | <a id="orgb076fea"></a> | ||
217 | |||
218 | ## Simplify the UI | 109 | ## Simplify the UI |
219 | 110 | ||
220 | 111 | ||
221 | <a id="org586efe9"></a> | ||
222 | |||
223 | ### Tool bars and menu bars | 112 | ### Tool bars and menu bars |
224 | 113 | ||
225 | (cuss default-frame-alist | 114 | (cuss default-frame-alist |
@@ -230,8 +119,6 @@ | |||
230 | (tool-bar-mode -1) | 119 | (tool-bar-mode -1) |
231 | 120 | ||
232 | 121 | ||
233 | <a id="org298e07a"></a> | ||
234 | |||
235 | ### Scroll bars | 122 | ### Scroll bars |
236 | 123 | ||
237 | (add-to-list 'default-frame-alist '(vertical-scroll-bars . nil)) | 124 | (add-to-list 'default-frame-alist '(vertical-scroll-bars . nil)) |
@@ -241,50 +128,36 @@ | |||
241 | (horizontal-scroll-bar-mode -1) | 128 | (horizontal-scroll-bar-mode -1) |
242 | 129 | ||
243 | 130 | ||
244 | <a id="org439037b"></a> | ||
245 | |||
246 | ### Dialog boxen | 131 | ### Dialog boxen |
247 | 132 | ||
248 | (cuss use-dialog-box nil) | 133 | (cuss use-dialog-box nil) |
249 | 134 | ||
250 | 135 | ||
251 | <a id="orgbb289dc"></a> | ||
252 | |||
253 | ### Shorten confirmations | 136 | ### Shorten confirmations |
254 | 137 | ||
255 | (fset 'yes-or-no-p #'y-or-n-p) | 138 | (fset 'yes-or-no-p #'y-or-n-p) |
256 | 139 | ||
257 | 140 | ||
258 | <a id="org2d64864"></a> | ||
259 | |||
260 | ### Remove the bell | 141 | ### Remove the bell |
261 | 142 | ||
262 | (cuss visible-bell (not (string= (system-name) "larry"))) | 143 | (cuss visible-bell (not (string= (system-name) "larry"))) |
263 | 144 | ||
264 | 145 | ||
265 | <a id="org0b4a638"></a> | ||
266 | |||
267 | ### Tell Ediff to setup windows better | 146 | ### Tell Ediff to setup windows better |
268 | 147 | ||
269 | (declare-function ediff-setup-windows-plain "ediff-wind.el") | 148 | (declare-function ediff-setup-windows-plain "ediff-wind.el") |
270 | (cuss ediff-window-setup-function #'ediff-setup-windows-plain) | 149 | (cuss ediff-window-setup-function #'ediff-setup-windows-plain) |
271 | 150 | ||
272 | 151 | ||
273 | <a id="org2ca3449"></a> | ||
274 | |||
275 | ## Tweak the remaining UI | 152 | ## Tweak the remaining UI |
276 | 153 | ||
277 | 154 | ||
278 | <a id="orgae020e2"></a> | ||
279 | |||
280 | ### Fringes | 155 | ### Fringes |
281 | 156 | ||
282 | (add-to-list 'default-frame-alist '(left-fringe-width . 2)) | 157 | (add-to-list 'default-frame-alist '(left-fringe-width . 2)) |
283 | (add-to-list 'default-frame-alist '(right-fringe-width . 2)) | 158 | (add-to-list 'default-frame-alist '(right-fringe-width . 2)) |
284 | 159 | ||
285 | 160 | ||
286 | <a id="orgc8f4148"></a> | ||
287 | |||
288 | ### Minibuffer | 161 | ### Minibuffer |
289 | 162 | ||
290 | 1. Setup the minibuffer frame | 163 | 1. Setup the minibuffer frame |
@@ -302,8 +175,6 @@ | |||
302 | '(read-only t cursor-intangible t face minibuffer-prompt)) | 175 | '(read-only t cursor-intangible t face minibuffer-prompt)) |
303 | 176 | ||
304 | 177 | ||
305 | <a id="org83e5b37"></a> | ||
306 | |||
307 | ### Tabs | 178 | ### Tabs |
308 | 179 | ||
309 | 1. Show the tabs as current buffer, plus window count | 180 | 1. Show the tabs as current buffer, plus window count |
@@ -316,8 +187,6 @@ | |||
316 | "Show the tab bar only when there's more than 1 tab.") | 187 | "Show the tab bar only when there's more than 1 tab.") |
317 | 188 | ||
318 | 189 | ||
319 | <a id="org818f06f"></a> | ||
320 | |||
321 | ### Cursor | 190 | ### Cursor |
322 | 191 | ||
323 | (cuss cursor-type 'bar | 192 | (cuss cursor-type 'bar |
@@ -327,16 +196,12 @@ | |||
327 | (blink-cursor-mode 0) | 196 | (blink-cursor-mode 0) |
328 | 197 | ||
329 | 198 | ||
330 | <a id="org403cbfb"></a> | ||
331 | |||
332 | ### Buffer names | 199 | ### Buffer names |
333 | 200 | ||
334 | (require 'uniquify) | 201 | (require 'uniquify) |
335 | (cuss uniquify-buffer-name-style 'forward) | 202 | (cuss uniquify-buffer-name-style 'forward) |
336 | 203 | ||
337 | 204 | ||
338 | <a id="org86d72cc"></a> | ||
339 | |||
340 | ### Buffer boundaries | 205 | ### Buffer boundaries |
341 | 206 | ||
342 | (cuss indicate-buffer-boundaries | 207 | (cuss indicate-buffer-boundaries |
@@ -347,8 +212,6 @@ | |||
347 | (cuss indicate-empty-lines t) | 212 | (cuss indicate-empty-lines t) |
348 | 213 | ||
349 | 214 | ||
350 | <a id="org06a8610"></a> | ||
351 | |||
352 | ## Startup | 215 | ## Startup |
353 | 216 | ||
354 | (cuss inhibit-startup-screen t "Don't show Emacs' startup buffer.") | 217 | (cuss inhibit-startup-screen t "Don't show Emacs' startup buffer.") |
@@ -356,8 +219,6 @@ | |||
356 | (cuss initial-scratch-message "" "Empty *scratch*.") | 219 | (cuss initial-scratch-message "" "Empty *scratch*.") |
357 | 220 | ||
358 | 221 | ||
359 | <a id="org3cecd0a"></a> | ||
360 | |||
361 | ## Theme | 222 | ## Theme |
362 | 223 | ||
363 | (use-package modus-themes | 224 | (use-package modus-themes |
@@ -395,27 +256,21 @@ | |||
395 | (load-theme 'modus-operandi t)) | 256 | (load-theme 'modus-operandi t)) |
396 | 257 | ||
397 | 258 | ||
398 | <a id="org1cecd04"></a> | ||
399 | |||
400 | ### Modeline | 259 | ### Modeline |
401 | 260 | ||
402 | (custom-set-faces | 261 | (custom-set-faces |
403 | '(mode-line ((t (:family "fixed" | 262 | '(mode-line ((t (:height 0.8 |
404 | :height 100 | ||
405 | :overline t | 263 | :overline t |
406 | :box nil | 264 | :box nil |
407 | :foreground "black" | 265 | :foreground "black" |
408 | :background "white")))) | 266 | :background "white")))) |
409 | '(mode-line-inactive ((t (:family "fixed" | 267 | '(mode-line-inactive ((t (:height 0.8 |
410 | :height 80 | ||
411 | :overline t | 268 | :overline t |
412 | :box nil | 269 | :box nil |
413 | :foreground "#808080" | 270 | :foreground "#808080" |
414 | :background "white"))))) | 271 | :background "white"))))) |
415 | 272 | ||
416 | 273 | ||
417 | <a id="org52f810d"></a> | ||
418 | |||
419 | ### Fonts | 274 | ### Fonts |
420 | 275 | ||
421 | 1. Define fonts | 276 | 1. Define fonts |
@@ -474,13 +329,9 @@ | |||
474 | (unicode-fonts-setup)) | 329 | (unicode-fonts-setup)) |
475 | 330 | ||
476 | 331 | ||
477 | <a id="orgb1b190a"></a> | ||
478 | |||
479 | # Interactivity | 332 | # Interactivity |
480 | 333 | ||
481 | 334 | ||
482 | <a id="orge91bc0a"></a> | ||
483 | |||
484 | ## Selectrum | 335 | ## Selectrum |
485 | 336 | ||
486 | (use-package selectrum | 337 | (use-package selectrum |
@@ -488,8 +339,6 @@ | |||
488 | (selectrum-mode +1)) | 339 | (selectrum-mode +1)) |
489 | 340 | ||
490 | 341 | ||
491 | <a id="org2dec02d"></a> | ||
492 | |||
493 | ## Prescient | 342 | ## Prescient |
494 | 343 | ||
495 | (use-package prescient | 344 | (use-package prescient |
@@ -502,8 +351,6 @@ | |||
502 | (selectrum-prescient-mode +1)) | 351 | (selectrum-prescient-mode +1)) |
503 | 352 | ||
504 | 353 | ||
505 | <a id="org793390e"></a> | ||
506 | |||
507 | ## Consult | 354 | ## Consult |
508 | 355 | ||
509 | (use-package consult | 356 | (use-package consult |
@@ -523,8 +370,6 @@ | |||
523 | (fset 'multi-occur #'consult-multi-occur)) | 370 | (fset 'multi-occur #'consult-multi-occur)) |
524 | 371 | ||
525 | 372 | ||
526 | <a id="orgf0e1425"></a> | ||
527 | |||
528 | ## Ignore case | 373 | ## Ignore case |
529 | 374 | ||
530 | (cuss completion-ignore-case t) | 375 | (cuss completion-ignore-case t) |
@@ -532,8 +377,6 @@ | |||
532 | (cuss read-file-name-completion-ignore-case t) | 377 | (cuss read-file-name-completion-ignore-case t) |
533 | 378 | ||
534 | 379 | ||
535 | <a id="orgcb1ee5e"></a> | ||
536 | |||
537 | ## Search | 380 | ## Search |
538 | 381 | ||
539 | (use-package ctrlf | 382 | (use-package ctrlf |
@@ -548,8 +391,6 @@ | |||
548 | (ctrlf-mode +1)) | 391 | (ctrlf-mode +1)) |
549 | 392 | ||
550 | 393 | ||
551 | <a id="orgf588a26"></a> | ||
552 | |||
553 | ## Mouse | 394 | ## Mouse |
554 | 395 | ||
555 | (dolist (vec '([left-margin wheel-down] | 396 | (dolist (vec '([left-margin wheel-down] |
@@ -559,13 +400,9 @@ | |||
559 | (bind-key vec #'mwheel-scroll)) | 400 | (bind-key vec #'mwheel-scroll)) |
560 | 401 | ||
561 | 402 | ||
562 | <a id="orgb6ade5d"></a> | ||
563 | |||
564 | # Persistence | 403 | # Persistence |
565 | 404 | ||
566 | 405 | ||
567 | <a id="org9a6f451"></a> | ||
568 | |||
569 | ## Save history | 406 | ## Save history |
570 | 407 | ||
571 | (require 'savehist) | 408 | (require 'savehist) |
@@ -584,8 +421,6 @@ | |||
584 | (savehist-mode +1) | 421 | (savehist-mode +1) |
585 | 422 | ||
586 | 423 | ||
587 | <a id="org3041895"></a> | ||
588 | |||
589 | ## Save places in files | 424 | ## Save places in files |
590 | 425 | ||
591 | (require 'saveplace) | 426 | (require 'saveplace) |
@@ -596,8 +431,6 @@ | |||
596 | (save-place-mode 1) | 431 | (save-place-mode 1) |
597 | 432 | ||
598 | 433 | ||
599 | <a id="orgfddf139"></a> | ||
600 | |||
601 | ## Recent files | 434 | ## Recent files |
602 | 435 | ||
603 | (require 'recentf) | 436 | (require 'recentf) |
@@ -612,8 +445,6 @@ | |||
612 | (recentf-mode 1) | 445 | (recentf-mode 1) |
613 | 446 | ||
614 | 447 | ||
615 | <a id="org5211a84"></a> | ||
616 | |||
617 | ### Easily navigate recent files | 448 | ### Easily navigate recent files |
618 | 449 | ||
619 | (defun recentf-find-file () | 450 | (defun recentf-find-file () |
@@ -626,8 +457,6 @@ | |||
626 | (global-set-key (kbd "C-x C-r") #'recentf-find-file) | 457 | (global-set-key (kbd "C-x C-r") #'recentf-find-file) |
627 | 458 | ||
628 | 459 | ||
629 | <a id="org203b48b"></a> | ||
630 | |||
631 | ## Undo | 460 | ## Undo |
632 | 461 | ||
633 | (use-package undohist | 462 | (use-package undohist |
@@ -635,54 +464,38 @@ | |||
635 | (undohist-initialize)) | 464 | (undohist-initialize)) |
636 | 465 | ||
637 | 466 | ||
638 | <a id="org697ec47"></a> | ||
639 | |||
640 | # Editing | 467 | # Editing |
641 | 468 | ||
642 | 469 | ||
643 | <a id="org958bd79"></a> | ||
644 | |||
645 | ## Operate visually on lines | 470 | ## Operate visually on lines |
646 | 471 | ||
647 | (global-visual-line-mode +1) | 472 | (global-visual-line-mode +1) |
648 | 473 | ||
649 | 474 | ||
650 | <a id="orgc5ef3b6"></a> | ||
651 | |||
652 | ## Require a final newline | 475 | ## Require a final newline |
653 | 476 | ||
654 | (cuss require-final-newline t) | 477 | (cuss require-final-newline t) |
655 | 478 | ||
656 | 479 | ||
657 | <a id="orgba62063"></a> | ||
658 | |||
659 | ## Killing & Yanking | 480 | ## Killing & Yanking |
660 | 481 | ||
661 | 482 | ||
662 | <a id="orgcb04f02"></a> | ||
663 | |||
664 | ### Replace selection when typing | 483 | ### Replace selection when typing |
665 | 484 | ||
666 | (delete-selection-mode +1) | 485 | (delete-selection-mode +1) |
667 | 486 | ||
668 | 487 | ||
669 | <a id="orgdf80771"></a> | ||
670 | |||
671 | ### Save existing clipboard text into kill ring before replacing it | 488 | ### Save existing clipboard text into kill ring before replacing it |
672 | 489 | ||
673 | (cuss save-interprogram-paste-before-kill t) | 490 | (cuss save-interprogram-paste-before-kill t) |
674 | 491 | ||
675 | 492 | ||
676 | <a id="org2252a8b"></a> | ||
677 | |||
678 | ## So long mode | 493 | ## So long mode |
679 | 494 | ||
680 | (when (fboundp 'global-so-long-mode) | 495 | (when (fboundp 'global-so-long-mode) |
681 | (global-so-long-mode)) | 496 | (global-so-long-mode)) |
682 | 497 | ||
683 | 498 | ||
684 | <a id="org6fe3b6b"></a> | ||
685 | |||
686 | ## Multiple cursors | 499 | ## Multiple cursors |
687 | 500 | ||
688 | (use-package multiple-cursors | 501 | (use-package multiple-cursors |
@@ -692,8 +505,6 @@ | |||
692 | ("C-c C-<" . mc/mark-all-like-this)) | 505 | ("C-c C-<" . mc/mark-all-like-this)) |
693 | 506 | ||
694 | 507 | ||
695 | <a id="orgfe5b963"></a> | ||
696 | |||
697 | ## Expand region | 508 | ## Expand region |
698 | 509 | ||
699 | (use-package expand-region | 510 | (use-package expand-region |
@@ -702,18 +513,12 @@ | |||
702 | ("C-+" . er/contract-region))) | 513 | ("C-+" . er/contract-region))) |
703 | 514 | ||
704 | 515 | ||
705 | <a id="org0b92a32"></a> | ||
706 | |||
707 | # Files | 516 | # Files |
708 | 517 | ||
709 | 518 | ||
710 | <a id="orgf1babbf"></a> | ||
711 | |||
712 | ## Encoding | 519 | ## Encoding |
713 | 520 | ||
714 | 521 | ||
715 | <a id="org8dd350d"></a> | ||
716 | |||
717 | ### UTF-8 | 522 | ### UTF-8 |
718 | 523 | ||
719 | (set-language-environment 'utf-8) | 524 | (set-language-environment 'utf-8) |
@@ -724,8 +529,6 @@ | |||
724 | (prefer-coding-system 'utf-8) | 529 | (prefer-coding-system 'utf-8) |
725 | 530 | ||
726 | 531 | ||
727 | <a id="org34854a5"></a> | ||
728 | |||
729 | ### Convert all files to UNIX-style line endings | 532 | ### Convert all files to UNIX-style line endings |
730 | 533 | ||
731 | from [Emacs Wiki](https://www.emacswiki.org/emacs/EndOfLineTips). | 534 | from [Emacs Wiki](https://www.emacswiki.org/emacs/EndOfLineTips). |
@@ -742,8 +545,6 @@ I add it to the `find-file-hook` *and* `before-save-hook` because I don't want t | |||
742 | (add-hook 'before-save-hook #'ewiki/no-junk-please-were-unixish) | 545 | (add-hook 'before-save-hook #'ewiki/no-junk-please-were-unixish) |
743 | 546 | ||
744 | 547 | ||
745 | <a id="org184d029"></a> | ||
746 | |||
747 | ## Backups | 548 | ## Backups |
748 | 549 | ||
749 | (cuss backup-by-copying 1) | 550 | (cuss backup-by-copying 1) |
@@ -752,47 +553,33 @@ I add it to the `find-file-hook` *and* `before-save-hook` because I don't want t | |||
752 | (cuss vc-make-backup-files t) | 553 | (cuss vc-make-backup-files t) |
753 | 554 | ||
754 | 555 | ||
755 | <a id="org72595b4"></a> | ||
756 | |||
757 | ## Auto-saves | 556 | ## Auto-saves |
758 | 557 | ||
759 | (auto-save-visited-mode 1) | 558 | (auto-save-visited-mode 1) |
760 | 559 | ||
761 | 560 | ||
762 | <a id="orgd374486"></a> | ||
763 | |||
764 | ## Revert files | 561 | ## Revert files |
765 | 562 | ||
766 | (cuss auto-revert-verbose nil) | 563 | (cuss auto-revert-verbose nil) |
767 | (global-auto-revert-mode +1) | 564 | (global-auto-revert-mode +1) |
768 | 565 | ||
769 | 566 | ||
770 | <a id="org8ac0e64"></a> | ||
771 | |||
772 | ## Add a timestamp to files | 567 | ## Add a timestamp to files |
773 | 568 | ||
774 | (add-hook 'before-save-hook #'time-stamp) | 569 | (add-hook 'before-save-hook #'time-stamp) |
775 | 570 | ||
776 | 571 | ||
777 | <a id="org97bb90c"></a> | ||
778 | |||
779 | # Programming | 572 | # Programming |
780 | 573 | ||
781 | 574 | ||
782 | <a id="orgbcce753"></a> | ||
783 | |||
784 | ## Which function are we in? | 575 | ## Which function are we in? |
785 | 576 | ||
786 | (which-function-mode +1) | 577 | (which-function-mode +1) |
787 | 578 | ||
788 | 579 | ||
789 | <a id="org7d7c4d6"></a> | ||
790 | |||
791 | ## Parentheses | 580 | ## Parentheses |
792 | 581 | ||
793 | 582 | ||
794 | <a id="orgbe3915d"></a> | ||
795 | |||
796 | ### Show parentheses | 583 | ### Show parentheses |
797 | 584 | ||
798 | (cuss show-paren-delay 0 "Show matching parens immediately.") | 585 | (cuss show-paren-delay 0 "Show matching parens immediately.") |
@@ -806,8 +593,6 @@ I add it to the `find-file-hook` *and* `before-save-hook` because I don't want t | |||
806 | (add-hook 'prog-mode-hook #'show-paren-mode) | 593 | (add-hook 'prog-mode-hook #'show-paren-mode) |
807 | 594 | ||
808 | 595 | ||
809 | <a id="org9415ceb"></a> | ||
810 | |||
811 | ### Smart parentheses | 596 | ### Smart parentheses |
812 | 597 | ||
813 | (use-package smartparens | 598 | (use-package smartparens |
@@ -819,8 +604,6 @@ I add it to the `find-file-hook` *and* `before-save-hook` because I don't want t | |||
819 | (prog-mode-hook . smart-parens-strict-mode)) | 604 | (prog-mode-hook . smart-parens-strict-mode)) |
820 | 605 | ||
821 | 606 | ||
822 | <a id="org2ebc45e"></a> | ||
823 | |||
824 | ## Line numbers | 607 | ## Line numbers |
825 | 608 | ||
826 | (defun acdw/enable-line-numbers () | 609 | (defun acdw/enable-line-numbers () |
@@ -837,13 +620,11 @@ I add it to the `find-file-hook` *and* `before-save-hook` because I don't want t | |||
837 | (add-hook 'prog-mode-hook #'acdw/enable-line-numbers) | 620 | (add-hook 'prog-mode-hook #'acdw/enable-line-numbers) |
838 | 621 | ||
839 | 622 | ||
840 | <a id="orge8c66c9"></a> | 623 | <a id="org92fae61"></a> |
841 | 624 | ||
842 | # Writing | 625 | # Writing |
843 | 626 | ||
844 | 627 | ||
845 | <a id="org5278827"></a> | ||
846 | |||
847 | ## Visual Fill Column | 628 | ## Visual Fill Column |
848 | 629 | ||
849 | (use-package visual-fill-column | 630 | (use-package visual-fill-column |
@@ -859,8 +640,6 @@ I add it to the `find-file-hook` *and* `before-save-hook` because I don't want t | |||
859 | (text-mode-hook . visual-fill-column-mode)) | 640 | (text-mode-hook . visual-fill-column-mode)) |
860 | 641 | ||
861 | 642 | ||
862 | <a id="org63bd7b9"></a> | ||
863 | |||
864 | ## Type nice-looking quote-type marks | 643 | ## Type nice-looking quote-type marks |
865 | 644 | ||
866 | (use-package typo | 645 | (use-package typo |
@@ -868,13 +647,9 @@ I add it to the `find-file-hook` *and* `before-save-hook` because I don't want t | |||
868 | (text-mode-hook . typo-mode)) | 647 | (text-mode-hook . typo-mode)) |
869 | 648 | ||
870 | 649 | ||
871 | <a id="org50abb5d"></a> | ||
872 | |||
873 | # Applications | 650 | # Applications |
874 | 651 | ||
875 | 652 | ||
876 | <a id="orgf68bfba"></a> | ||
877 | |||
878 | ## Magit | 653 | ## Magit |
879 | 654 | ||
880 | (use-package magit | 655 | (use-package magit |
@@ -882,11 +657,9 @@ I add it to the `find-file-hook` *and* `before-save-hook` because I don't want t | |||
882 | ("C-x g" . magit-status)) | 657 | ("C-x g" . magit-status)) |
883 | 658 | ||
884 | 659 | ||
885 | <a id="org66c3b6b"></a> | ||
886 | |||
887 | ## Org mode | 660 | ## Org mode |
888 | 661 | ||
889 | I’ve put org mode under Applications, as opposed to [8](#orge8c66c9), because it’s more generally-applicable than that. | 662 | I’ve put org mode under Applications, as opposed to [8](#org92fae61), because it’s more generally-applicable than that. |
890 | 663 | ||
891 | (use-package org | 664 | (use-package org |
892 | :custom | 665 | :custom |
@@ -902,15 +675,11 @@ I’ve put org mode under Applications, as opposed to [8](#orge8c66c9), because | |||
902 | (org-confirm-babel-evaluate nil)) | 675 | (org-confirm-babel-evaluate nil)) |
903 | 676 | ||
904 | 677 | ||
905 | <a id="org34de14b"></a> | ||
906 | |||
907 | ### Export to markdown | 678 | ### Export to markdown |
908 | 679 | ||
909 | (require 'ox-md) | 680 | (require 'ox-md) |
910 | 681 | ||
911 | 682 | ||
912 | <a id="orge32cf6b"></a> | ||
913 | |||
914 | ### Make bullets look like bullets | 683 | ### Make bullets look like bullets |
915 | 684 | ||
916 | (font-lock-add-keywords | 685 | (font-lock-add-keywords |
@@ -922,8 +691,6 @@ I’ve put org mode under Applications, as opposed to [8](#orge8c66c9), because | |||
922 | "•")))))) | 691 | "•")))))) |
923 | 692 | ||
924 | 693 | ||
925 | <a id="org5d13ece"></a> | ||
926 | |||
927 | ### [A better return in Org mode](http://kitchingroup.cheme.cmu.edu/blog/2017/04/09/A-better-return-in-org-mode/) | 694 | ### [A better return in Org mode](http://kitchingroup.cheme.cmu.edu/blog/2017/04/09/A-better-return-in-org-mode/) |
928 | 695 | ||
929 | (require 'org-inlinetask) | 696 | (require 'org-inlinetask) |
@@ -998,18 +765,12 @@ I’ve put org mode under Applications, as opposed to [8](#orge8c66c9), because | |||
998 | 'scimax/org-return) | 765 | 'scimax/org-return) |
999 | 766 | ||
1000 | 767 | ||
1001 | <a id="org1c0423c"></a> | ||
1002 | |||
1003 | # Appendices | 768 | # Appendices |
1004 | 769 | ||
1005 | 770 | ||
1006 | <a id="orgea74573"></a> | ||
1007 | |||
1008 | ## Emacs' files | 771 | ## Emacs' files |
1009 | 772 | ||
1010 | 773 | ||
1011 | <a id="org1ed6b18"></a> | ||
1012 | |||
1013 | ### init.el | 774 | ### init.el |
1014 | 775 | ||
1015 | ;; init.el -*- lexical-binding: t -*- | 776 | ;; init.el -*- lexical-binding: t -*- |
@@ -1029,8 +790,6 @@ I’ve put org mode under Applications, as opposed to [8](#orge8c66c9), because | |||
1029 | (org-babel-load-file org)))) | 790 | (org-babel-load-file org)))) |
1030 | 791 | ||
1031 | 792 | ||
1032 | <a id="org1e22a5e"></a> | ||
1033 | |||
1034 | ### early-init.el | 793 | ### early-init.el |
1035 | 794 | ||
1036 | ;; early-init.el -*- lexical-binding: t; no-byte-compile: t; -*- | 795 | ;; early-init.el -*- lexical-binding: t; no-byte-compile: t; -*- |
@@ -1039,8 +798,6 @@ I’ve put org mode under Applications, as opposed to [8](#orge8c66c9), because | |||
1039 | (setq frame-inhibit-implied-resize t) | 798 | (setq frame-inhibit-implied-resize t) |
1040 | 799 | ||
1041 | 800 | ||
1042 | <a id="org50bd83d"></a> | ||
1043 | |||
1044 | ## Ease tangling and loading of Emacs' init | 801 | ## Ease tangling and loading of Emacs' init |
1045 | 802 | ||
1046 | (defun refresh-emacs (&optional disable-load) | 803 | (defun refresh-emacs (&optional disable-load) |
@@ -1063,8 +820,6 @@ I’ve put org mode under Applications, as opposed to [8](#orge8c66c9), because | |||
1063 | (byte-compile-file f (not disable-load)))))))))) | 820 | (byte-compile-file f (not disable-load)))))))))) |
1064 | 821 | ||
1065 | 822 | ||
1066 | <a id="org551e420"></a> | ||
1067 | |||
1068 | ## License | 823 | ## License |
1069 | 824 | ||
1070 | Copyright © 2020 Case Duckworth <acdw@acdw.net> | 825 | Copyright © 2020 Case Duckworth <acdw@acdw.net> |
@@ -1090,8 +845,6 @@ following source block, for details. | |||
1090 | 0. You just DO WHAT THE FUCK YOU WANT TO. | 845 | 0. You just DO WHAT THE FUCK YOU WANT TO. |
1091 | 846 | ||
1092 | 847 | ||
1093 | <a id="org15f94a8"></a> | ||
1094 | |||
1095 | ### Note on the license | 848 | ### Note on the license |
1096 | 849 | ||
1097 | It's highly likely that the WTFPL is completely incompatible with the | 850 | It's highly likely that the WTFPL is completely incompatible with the |
@@ -1100,8 +853,6 @@ GPL, for what should be fairly obvious reasons. To that, I say: | |||
1100 | **SUE ME, RMS!** | 853 | **SUE ME, RMS!** |
1101 | 854 | ||
1102 | 855 | ||
1103 | <a id="org3bda9ee"></a> | ||
1104 | |||
1105 | ## Keymaps for *this* file | 856 | ## Keymaps for *this* file |
1106 | 857 | ||
1107 | This isn’t working … yet. | 858 | This isn’t working … yet. |
diff --git a/config.org b/config.org index d171ac9..44d8a0e 100644 --- a/config.org +++ b/config.org | |||
@@ -2,8 +2,11 @@ | |||
2 | #+AUTHOR: Case Duckworth | 2 | #+AUTHOR: Case Duckworth |
3 | #+PROPERTY: header-args :tangle config.el :comments both :mkdirp yes | 3 | #+PROPERTY: header-args :tangle config.el :comments both :mkdirp yes |
4 | #+EXPORT_FILE_NAME: README.md | 4 | #+EXPORT_FILE_NAME: README.md |
5 | #+OPTIONS: toc:nil | ||
5 | #+BANKRUPTCY_COUNT: 3 | 6 | #+BANKRUPTCY_COUNT: 3 |
6 | #+Time-stamp: <2020-12-09 18:28:04 acdw> | 7 | #+Time-stamp: <2020-12-09 20:27:25 acdw> |
8 | |||
9 | Let’s configure Emacs using Org mode, they said. It’ll be fun, they said. | ||
7 | 10 | ||
8 | * Pave the way | 11 | * Pave the way |
9 | ** Correct =exec-path= | 12 | ** Correct =exec-path= |