[Emacs Lisp] Personal ~/.emacs.d/ configuration folder.
me: be explicit about tangling\n tangle: yes
smart-documents.org
@@ -8,9 +8,6 @@
8
8
#+SETUPFILE: ~/.emacs.d/templates/documents/default.org
9
9
#+INCLUDE: ~/.emacs.d/templates/documents/default.org_title
10
10
11
Removed:
# By default, Org Babel does not tangle blocks.
12
Removed:
#+PROPERTY: header-args :tangle yes
13
Removed:
14
11
# Beautiful font pairing
15
12
# #+LATEX_HEADER: \setmainfont{urw gothic}
16
13
# #+LATEX_HEADER: \setmonofont{hermit}
@@ -57,7 +54,7 @@
57
54
- ~C-h v~ :: describe variable
58
55
- ~C-h k~ :: describe key
59
56
60
Removed:
You can always press ~f1~ to access Emacs in-built help.
57
Added:
You can always press ~f1~ to access Emacs built-in help.
61
58
62
59
* TODO First-time setup
63
60
@@ -69,7 +66,7 @@
69
66
:sd-unpack-path: sd.el
70
67
:END:
71
68
72
Removed:
#+BEGIN_SRC emacs-lisp :tangle no
69
Added:
#+BEGIN_SRC emacs-lisp
73
70
(defvar sd-packed-p t
74
71
"Boolean to track literate configuration packed/unpacked status.")
75
72
@@ -82,7 +79,7 @@
82
79
(mapcar 'sd-unpack sd-unpack-sections)
83
80
)
84
81
85
Removed:
(defun sd-unpack-section (section)
82
Added:
(defun sd-unpack-section (&optional section)
86
83
"Unpack SECTION into `user-emacs-directory'.
87
84
If nil, unpack section under point.
88
85
Make go through list of headings and unpack first matching SECTION."
@@ -111,6 +108,8 @@
111
108
112
109
#+NAME: user-details-get
113
110
#+BEGIN_SRC emacs-lisp
111
Added:
(setq user-full-name "Marius Peter")
112
Added:
114
113
(defun my/user-details-get ()
115
114
"Get user details."
116
115
(setq user-full-name (read-string "Enter full user name:"))
@@ -139,7 +138,7 @@
139
138
On my MS Windows machine, I add the path to Portable Git.[fn::Download from
140
139
https://git-scm.com/download/win]
141
140
142
Removed:
#+BEGIN_SRC emacs-lisp
141
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
143
142
(when (string-equal system-type "windows-nt")
144
143
(add-to-list 'exec-path "C:/Users/marius.peter/PortableGit/bin/"))
145
144
#+END_SRC
@@ -184,7 +183,7 @@
184
183
stop]]. We will then present profiling report in Section [[Profiling --- report]].
185
184
186
185
#+NAME: profiler-start
187
Removed:
#+BEGIN_SRC emacs-lisp
186
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
188
187
; (profiler-start)
189
188
#+END_SRC
190
189
@@ -193,7 +192,7 @@
193
192
We begin by defining a function to open this very file.
194
193
195
194
#+NAME: shortcut-config
196
Removed:
#+BEGIN_SRC emacs-lisp
195
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
197
196
(defun my/find-literate-config ()
198
197
"Jump to this very file."
199
198
(interactive)
@@ -202,7 +201,7 @@
202
201
203
202
** Speeding up the next startup
204
203
205
Removed:
#+BEGIN_SRC emacs-lisp
204
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
206
205
(defun byte-compile-literate-config ()
207
206
"Byte compile our literate configuration file."
208
207
(delete-file (concat my/literate-config ".elc"))
@@ -225,13 +224,13 @@
225
224
decided to refer to them as meta-files. First, let's designate a folder to collect
226
225
our meta-files together:
227
226
228
Removed:
#+BEGIN_SRC emacs-lisp
227
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
229
228
(setq my/meta-files-location (concat user-emacs-directory "meta/"))
230
229
#+END_SRC
231
230
232
231
*** Recently visited files
233
232
234
Removed:
#+BEGIN_SRC emacs-lisp
233
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
235
234
(setq recentf-save-file (concat
236
235
my/meta-files-location
237
236
"recentf"))
@@ -239,7 +238,7 @@
239
238
240
239
*** Projects' bookmarks
241
240
242
Removed:
#+BEGIN_SRC emacs-lisp
241
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
243
242
(setq projectile-known-projects-file (concat
244
243
my/meta-files-location
245
244
"projectile-bookmarks.eld"))
@@ -247,7 +246,7 @@
247
246
248
247
*** Location in previously visited file
249
248
250
Removed:
#+BEGIN_SRC emacs-lisp
249
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
251
250
(setq save-place-file (concat
252
251
my/meta-files-location
253
252
"places"))
@@ -260,7 +259,7 @@
260
259
customize-group <package>~.
261
260
262
261
#+NAME: custom-file-location
263
Removed:
#+BEGIN_SRC emacs-lisp
262
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
264
263
(setq custom-file (concat user-emacs-directory "custom.el"))
265
264
(load custom-file)
266
265
#+END_SRC
@@ -269,7 +268,7 @@
269
268
270
269
Backups are very important!
271
270
272
Removed:
#+BEGIN_SRC emacs-lisp
271
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
273
272
(setq backup-directory-alist `((".*" . ,temporary-file-directory))
274
273
auto-save-file-name-transforms `((".*" ,temporary-file-directory t))
275
274
backup-by-copying t ; Don't delink hardlinks
@@ -284,14 +283,14 @@
284
283
285
284
We set the dimensions of the initial frame:
286
285
287
Removed:
#+BEGIN_SRC emacs-lisp
286
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
288
287
(add-to-list 'initial-frame-alist '(width . 100))
289
288
(add-to-list 'initial-frame-alist '(height . 50))
290
289
#+END_SRC
291
290
292
291
We also set the dimensions of subsequent frames:
293
292
294
Removed:
#+BEGIN_SRC emacs-lisp
293
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
295
294
(add-to-list 'default-frame-alist '(width . 50))
296
295
(add-to-list 'default-frame-alist '(height . 30))
297
296
#+END_SRC
@@ -301,7 +300,7 @@
301
300
These settings affect the first and subsequent frames spawned by Emacs in
302
301
GNU/Linux. Frame transparency increases when focus is lost.
303
302
304
Removed:
#+BEGIN_SRC emacs-lisp
303
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
305
304
(when (and (display-graphic-p) (string-equal system-type "gnu/linux"))
306
305
(set-frame-parameter (selected-frame) 'alpha '(90 . 50))
307
306
(add-to-list 'default-frame-alist '(alpha . (90 . 50))))
@@ -315,7 +314,7 @@
315
314
populate Org templates (Section [[~org-mode~]]). You need to create this
316
315
=secrets.org= file, as it is ignored by =git= by default.
317
316
318
Removed:
#+BEGIN_SRC emacs-lisp
317
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
319
318
(org-babel-load-file "~/.emacs.d/secrets.org")
320
319
#+END_SRC
321
320
@@ -326,7 +325,7 @@
326
325
on all modern desktop OSes. From IBM's CUA, we get the =Ctrl-c= and =Ctrl-v=
327
326
keyboard shortcuts.]
328
327
329
Removed:
#+BEGIN_SRC emacs-lisp
328
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
330
329
(cua-mode)
331
330
#+END_SRC
332
331
@@ -340,19 +339,19 @@
340
339
341
340
*** Save a file
342
341
343
Removed:
#+BEGIN_SRC emacs-lisp
342
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
344
343
(global-set-key (kbd "C-s") 'save-buffer)
345
344
#+END_SRC
346
345
347
346
*** Open a file
348
347
349
Removed:
#+BEGIN_SRC emacs-lisp
348
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
350
349
(global-set-key (kbd "C-o") 'find-file)
351
350
#+END_SRC
352
351
353
352
*** List open files
354
353
355
Removed:
#+BEGIN_SRC emacs-lisp
354
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
356
355
(global-set-key (kbd "C-b") 'ivy-switch-buffer)
357
356
#+END_SRC
358
357
@@ -360,31 +359,31 @@
360
359
361
360
(Function defined in Section [[Jumping to this file]])
362
361
363
Removed:
#+BEGIN_SRC emacs-lisp
362
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
364
363
(global-set-key (kbd "C-c c") 'my/find-literate-config)
365
364
#+END_SRC
366
365
367
366
*** Open a recently visited file
368
367
369
Removed:
#+BEGIN_SRC emacs-lisp
368
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
370
369
(global-set-key (kbd "C-r") 'counsel-recentf)
371
370
#+END_SRC
372
371
373
372
*** Locate a file
374
373
375
Removed:
#+BEGIN_SRC emacs-lisp
374
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
376
375
(global-set-key (kbd "C-c l") 'counsel-locate)
377
376
#+END_SRC
378
377
379
378
*** Open the agenda
380
379
381
Removed:
#+BEGIN_SRC emacs-lisp
380
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
382
381
(global-set-key [f5] 'org-agenda-list)
383
382
#+END_SRC
384
383
385
384
*** Open the diary
386
385
387
Removed:
#+BEGIN_SRC emacs-lisp
386
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
388
387
(global-set-key [f6]
389
388
'(lambda ()
390
389
"Load `org-agenda-diary-file'."
@@ -396,13 +395,13 @@
396
395
397
396
*** Make new window
398
397
399
Removed:
#+BEGIN_SRC emacs-lisp
398
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
400
399
(global-set-key (kbd "C-n") 'make-frame)
401
400
#+END_SRC
402
401
403
402
*** Make only window
404
403
405
Removed:
#+BEGIN_SRC emacs-lisp
404
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
406
405
(global-set-key (kbd "C-`") 'delete-other-windows)
407
406
#+END_SRC
408
407
@@ -411,7 +410,7 @@
411
410
The following bindings lead to more natural window & frame exit behaviors.
412
411
413
412
#+NAME: close-window-or-previous-buffer
414
Removed:
#+BEGIN_SRC emacs-lisp
413
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
415
414
(global-set-key (kbd "C-w")
416
415
'(lambda ()
417
416
"Delete window; if sole window, previous buffer."
@@ -422,7 +421,7 @@
422
421
#+END_SRC
423
422
424
423
#+NAME: delete-frame-or-kill-emacs
425
Removed:
#+BEGIN_SRC emacs-lisp
424
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
426
425
(global-set-key (kbd "C-q")
427
426
'(lambda ()
428
427
(interactive)
@@ -441,7 +440,7 @@
441
440
442
441
It seems that starting with Emacs 27.1, Control + mousewheel works.
443
442
444
Removed:
#+BEGIN_SRC emacs-lisp
443
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
445
444
(global-set-key (kbd "C--") 'text-scale-decrease)
446
445
(global-set-key (kbd "C-=") 'text-scale-increase)
447
446
(global-set-key (kbd "C-+") 'text-scale-increase)
@@ -451,13 +450,13 @@
451
450
452
451
*** Customize a variable
453
452
454
Removed:
#+BEGIN_SRC emacs-lisp
453
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
455
454
(global-set-key (kbd "C-c v") 'customize-variable)
456
455
#+END_SRC
457
456
458
457
*** Customize a face
459
458
460
Removed:
#+BEGIN_SRC emacs-lisp
459
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
461
460
(global-set-key (kbd "C-c f") 'customize-face)
462
461
#+END_SRC
463
462
@@ -473,13 +472,13 @@
473
472
474
473
**** document
475
474
476
Removed:
#+BEGIN_SRC emacs-lisp
475
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
477
476
(global-set-key (kbd "C-p") 'my/org-quick-export)
478
477
#+END_SRC
479
478
480
479
**** TODO presentation
481
480
482
Removed:
#+BEGIN_SRC emacs-lisp
481
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
483
482
484
483
#+END_SRC
485
484
@@ -500,7 +499,7 @@
500
499
List of package archives.
501
500
502
501
#+NAME: package-archives
503
Removed:
#+BEGIN_SRC emacs-lisp
502
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
504
503
(require 'package)
505
504
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
506
505
(add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t)
@@ -511,7 +510,7 @@
511
510
512
511
One-function rollup of upgradeable package tagging, download and lazy install.
513
512
514
Removed:
#+BEGIN_SRC emacs-lisp
513
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
515
514
516
515
#+END_SRC
517
516
@@ -520,7 +519,7 @@
520
519
We ensure =use-package= is installed, as well as all packages described in this
521
520
configuration file.
522
521
523
Removed:
#+BEGIN_SRC emacs-lisp
522
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
524
523
(unless (package-installed-p 'use-package)
525
524
(package-refresh-contents)
526
525
(package-install 'use-package)
@@ -578,14 +577,14 @@
578
577
them corrupts tables.
579
578
580
579
#+NAME: org-format
581
Removed:
#+BEGIN_SRC emacs-lisp
580
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
582
581
(setq org-hide-emphasis-markers nil
583
582
org-startup-indented t
584
583
org-src-preserve-indentation nil
585
584
org-edit-src-content-indentation 0)
586
585
#+END_SRC
587
586
588
Removed:
#+BEGIN_SRC emacs-lisp
587
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
589
588
590
589
#+END_SRC
591
590
@@ -594,7 +593,7 @@
594
593
The following languages can be written inside =SRC= blocks, in view of being
595
594
executed by the Org Babel backend.
596
595
597
Removed:
#+BEGIN_SRC emacs-lisp
596
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
598
597
(setq org-babel-load-languages
599
598
'((shell . t)
600
599
(python . t)
@@ -611,7 +610,7 @@
611
610
612
611
*** Prevent or warn on invisible edits
613
612
614
Removed:
#+BEGIN_SRC emacs-lisp
613
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
615
614
(setq org-catch-invisible-edits t)
616
615
#+END_SRC
617
616
@@ -623,7 +622,7 @@
623
622
624
623
We open the agenda in a separate window.
625
624
626
Removed:
#+BEGIN_SRC emacs-lisp
625
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
627
626
(setq org-agenda-window-setup 'other-frame)
628
627
#+END_SRC
629
628
@@ -632,7 +631,7 @@
632
631
More literary timestamps are exported to LaTeX using the following custom
633
632
format:
634
633
635
Removed:
#+BEGIN_SRC emacs-lisp
634
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
636
635
(setq org-time-stamp-custom-formats
637
636
'("%d %b. %Y (%a)" . "%d %b. %Y (%a), at %H:%M"))
638
637
#+END_SRC
@@ -653,7 +652,7 @@
653
652
- ~-interaction=nonstopmode~ :: go as far as possible without prompting user
654
653
for input
655
654
656
Removed:
#+BEGIN_SRC emacs-lisp
655
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
657
656
(setq org-latex-pdf-process
658
657
'("latexmk -pdf -f \
659
658
-pdflatex=lualatex -shell-escape \
@@ -666,7 +665,7 @@
666
665
our exported LaTeX documents. This makes them visually distinguishable from
667
666
body text.
668
667
669
Removed:
#+BEGIN_SRC emacs-lisp
668
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
670
669
(setq org-latex-active-timestamp-format
671
670
"\\texttt{%s}")
672
671
(setq org-latex-inactive-timestamp-format
@@ -677,7 +676,7 @@
677
676
678
677
The following packages are loaded for every time we export to LaTeX.
679
678
680
Removed:
#+BEGIN_SRC emacs-lisp
679
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
681
680
(setq org-latex-packages-alist
682
681
'(("AUTO" "polyglossia" t
683
682
("xelatex" "lualatex"))
@@ -694,7 +693,7 @@
694
693
Little bonus for GNU/Linux users: syntax highlighting for source code blocks in
695
694
LaTeX exports.
696
695
697
Removed:
#+BEGIN_SRC emacs-lisp
696
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
698
697
(when (string-equal system-type "gnu/linux")
699
698
(add-to-list 'org-latex-packages-alist '("AUTO" "minted" t
700
699
("pdflatex" "lualatex")))
@@ -710,7 +709,7 @@
710
709
occurs. We only care about two files, in the end: the Org mode file for
711
710
edition, and the PDF for distribution.
712
711
713
Removed:
#+BEGIN_SRC emacs-lisp
712
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
714
713
(setq org-latex-logfiles-extensions
715
714
'("aux" "bcf" "blg" "fdb_latexmk"
716
715
"fls" "figlist" "idx" "log" "nav"
@@ -724,14 +723,14 @@
724
723
date. It is preferable to insert entries in the order that they were recorded,
725
724
i.e. chronologically.
726
725
727
Removed:
#+BEGIN_SRC emacs-lisp
726
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
728
727
(setq org-agenda-insert-diary-strategy 'date-tree-last)
729
728
#+END_SRC
730
729
731
730
What follows is an additional document class structures that can be exported in
732
731
LaTeX.
733
732
734
Removed:
#+BEGIN_SRC emacs-lisp
733
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
735
734
;; (add-to-list 'org-latex-classes
736
735
;; '("book-blendoit"
737
736
;; "\\documentclass[12pt]{book}"
@@ -746,7 +745,7 @@
746
745
By default, body text can immediately follow the table of contents. It is
747
746
however cleaner to separate table of contents with the rest of the work.
748
747
749
Removed:
#+BEGIN_SRC emacs-lisp
748
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
750
749
(setq org-latex-toc-command "\\tableofcontents\\clearpage")
751
750
#+END_SRC
752
751
@@ -761,7 +760,7 @@
761
760
~evil-mode~ completely changes editing keys.[fn::For more information on =vi=
762
761
keybindings, visit [[https://hea-www.harvard.edu/~fine/Tech/vi.html]].]
763
762
764
Removed:
#+BEGIN_SRC emacs-lisp
763
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
765
764
(use-package evil)
766
765
; (setq evil-toggle-key "C-c d") ; devil...
767
766
; (evil-mode 1)
@@ -778,7 +777,7 @@
778
777
package ensures we are aware of all our code's syntactical shortcomings.
779
778
780
779
#+NAME: flycheck
781
Removed:
#+BEGIN_SRC emacs-lisp
780
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
782
781
(use-package flycheck)
783
782
(global-flycheck-mode)
784
783
#+END_SRC
@@ -786,7 +785,7 @@
786
785
*** Spelling
787
786
788
787
#+NAME: flyspell
789
Removed:
#+BEGIN_SRC emacs-lisp
788
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
790
789
(use-package flyspell)
791
790
(add-hook 'text-mode-hook 'flyspell-mode)
792
791
#+END_SRC
@@ -801,7 +800,7 @@
801
800
For instance: typing =src= then pressing =TAB= will expand the keyword to the
802
801
following text:
803
802
804
Removed:
: #+BEGIN_SRC emacs-lisp
803
Added:
: #+BEGIN_SRC emacs-lisp :tangle yes
805
804
:
806
805
: #+END_SRC
807
806
@@ -810,7 +809,7 @@
810
809
us a ton of time with boilerplate text!
811
810
812
811
#+NAME: yasnippet
813
Removed:
#+BEGIN_SRC emacs-lisp
812
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
814
813
(use-package yasnippet)
815
814
(yas-global-mode 1)
816
815
#+END_SRC
@@ -825,7 +824,7 @@
825
824
*** Delete all consecutive whitespaces
826
825
827
826
#+NAME: company
828
Removed:
#+BEGIN_SRC emacs-lisp
827
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
829
828
(use-package hungry-delete)
830
829
(global-hungry-delete-mode)
831
830
#+END_SRC
@@ -837,7 +836,7 @@
837
836
Wonderful Git porcelain for Emacs. Enables the administration of a Git
838
837
repository in a pain-free way.
839
838
840
Removed:
#+BEGIN_SRC emacs-lisp
839
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
841
840
(use-package magit
842
841
:bind ("C-c g" . magit-status))
843
842
#+END_SRC
@@ -846,7 +845,7 @@
846
845
847
846
This enables us to better manage our =.git= projects.
848
847
849
Removed:
#+BEGIN_SRC emacs-lisp
848
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
850
849
(use-package projectile
851
850
:bind ("C-c p" . 'projectile-command-map)
852
851
:init (projectile-mode 1)
@@ -855,7 +854,7 @@
855
854
856
855
*** Display keyboard shortcuts on screen
857
856
858
Removed:
#+BEGIN_SRC emacs-lisp
857
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
859
858
(use-package which-key
860
859
:init (which-key-mode))
861
860
#+END_SRC
@@ -866,21 +865,21 @@
866
865
algorithms and heuristics to provide a very educated guess on the location of a
867
866
symbol's definition.
868
867
869
Removed:
#+BEGIN_SRC emacs-lisp
868
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
870
869
(use-package dumb-jump)
871
870
(add-hook 'xref-backend-functions #'dumb-jump-xref-activate)
872
871
#+END_SRC
873
872
874
873
*** Graphical representation of file history
875
874
876
Removed:
#+BEGIN_SRC emacs-lisp
875
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
877
876
(use-package undo-tree)
878
877
(global-undo-tree-mode)
879
878
#+END_SRC
880
879
881
880
*** Auto-completion framework
882
881
883
Removed:
#+BEGIN_SRC emacs-lisp
882
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
884
883
(use-package ivy
885
884
:config (setq ivy-use-virtual-buffers t
886
885
ivy-count-format "%d/%d "
@@ -892,7 +891,7 @@
892
891
893
892
Wonderful counsellor!
894
893
895
Removed:
#+BEGIN_SRC emacs-lisp
894
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
896
895
(use-package counsel
897
896
:bind ("M-x" . counsel-M-x)
898
897
:config (counsel-mode t))
@@ -902,7 +901,7 @@
902
901
903
902
**** Searching for items
904
903
905
Removed:
#+BEGIN_SRC emacs-lisp
904
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
906
905
(use-package swiper
907
906
:bind (("C-f" . counsel-grep-or-swiper)))
908
907
#+END_SRC
@@ -911,7 +910,7 @@
911
910
912
911
*** =csv= and Excel
913
912
914
Removed:
#+BEGIN_SRC emacs-lisp
913
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
915
914
(use-package csv-mode)
916
915
#+END_SRC
917
916
@@ -920,7 +919,7 @@
920
919
Org mode shines particularly when exporting to PDF---Org files can reliably be
921
920
shared and exported to PDF in a reproducible fashion.
922
921
923
Removed:
#+BEGIN_SRC emacs-lisp
922
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
924
923
(use-package pdf-tools)
925
924
;; (pdf-tools-install)
926
925
#+END_SRC
@@ -931,7 +930,7 @@
931
930
simple plaintext format, and reliable verification of account balances through
932
931
time.[fn::For more information, visit https://www.ledger-cli.org/.]
933
932
934
Removed:
#+BEGIN_SRC emacs-lisp
933
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
935
934
(use-package ledger-mode
936
935
:bind
937
936
("C-c r" . ledger-report)
@@ -941,7 +940,7 @@
941
940
These reports can be generated within Emacs. It is quite useful to pipe their
942
941
output to an automated ``smart document''.
943
942
944
Removed:
#+BEGIN_SRC emacs-lisp
943
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
945
944
(setq ledger-reports
946
945
'(("bal" "%(binary) -f %(ledger-file) bal")
947
946
("bal-USD" "%(binary) -f %(ledger-file) bal --exchange USD")
@@ -955,7 +954,7 @@
955
954
956
955
*** Plotting & charting
957
956
958
Removed:
#+BEGIN_SRC emacs-lisp
957
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
959
958
(use-package gnuplot)
960
959
#+END_SRC
961
960
@@ -965,7 +964,7 @@
965
964
966
965
We replace the standard welcome screen with our own.
967
966
968
Removed:
#+BEGIN_SRC emacs-lisp
967
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
969
968
(setq inhibit-startup-message t)
970
969
(use-package dashboard
971
970
:config
@@ -976,17 +975,10 @@
976
975
(setq dashboard-banner-logo-title "A modern professional text editor."))
977
976
#+END_SRC
978
977
979
Removed:
*** TODO Mode line
980
Removed:
981
Removed:
#+NAME: powerline
982
Removed:
#+BEGIN_SRC emacs-lisp
983
Removed:
(use-package powerline)
984
Removed:
#+END_SRC
985
Removed:
986
978
*** TODO Sidebar
987
979
Get inspiration from ~ibuffer-sidebar~ and create a better sidebar.
988
980
989
Removed:
#+BEGIN_SRC emacs-lisp
981
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
990
982
;; (load-file)
991
983
#+END_SRC
992
984
@@ -994,17 +986,17 @@
994
986
995
987
Icon fonts
996
988
997
Removed:
#+BEGIN_SRC emacs-lisp
989
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
998
990
(use-package all-the-icons)
999
991
#+END_SRC
1000
992
1001
Removed:
#+BEGIN_SRC emacs-lisp
993
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1002
994
(use-package mode-icons)
1003
995
#+END_SRC
1004
996
1005
997
*** Better parentheses
1006
998
1007
Removed:
#+BEGIN_SRC emacs-lisp
999
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1008
1000
(use-package rainbow-delimiters
1009
1001
:config (add-hook 'prog-mode-hook #'rainbow-delimiters-mode))
1010
1002
(electric-pair-mode)
@@ -1015,7 +1007,7 @@
1015
1007
1016
1008
This highlights hexadecimal numbers which look like colors, in that same color.
1017
1009
1018
Removed:
#+BEGIN_SRC emacs-lisp
1010
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1019
1011
(use-package rainbow-mode
1020
1012
:init
1021
1013
(add-hook 'prog-mode-hook 'rainbow-mode))
@@ -1023,7 +1015,7 @@
1023
1015
1024
1016
*** UTF-8 bullet points in =Org mode=
1025
1017
1026
Removed:
#+BEGIN_SRC emacs-lisp
1018
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1027
1019
(use-package org-bullets
1028
1020
:config
1029
1021
(when (string-equal system-type "gnu/linux")
@@ -1039,7 +1031,7 @@
1039
1031
This reimplements the most common Org mode export: Org \rightarrow LaTeX
1040
1032
\rightarrow PDF. The binding is defined in Section [[Export to PDF]].
1041
1033
1042
Removed:
#+BEGIN_SRC emacs-lisp
1034
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1043
1035
(defun my/org-quick-export ()
1044
1036
"Org async export to PDF and open.
1045
1037
This basically reimplements `C-c C-e C-a l o'."
@@ -1058,7 +1050,7 @@
1058
1050
1059
1051
This is just a better default. Don't @ me.
1060
1052
1061
Removed:
#+BEGIN_SRC emacs-lisp
1053
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1062
1054
(setq c-default-style "linux"
1063
1055
c-basic-offset 4)
1064
1056
#+END_SRC
@@ -1068,7 +1060,7 @@
1068
1060
The keybinding for opening a recently visited file is described in paragraph
1069
1061
[[Open a recently visited file]].
1070
1062
1071
Removed:
#+BEGIN_SRC emacs-lisp
1063
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1072
1064
(recentf-mode 1)
1073
1065
(setq recentf-max-menu-items 25)
1074
1066
(setq recentf-max-saved-items 25)
@@ -1110,7 +1102,7 @@
1110
1102
1111
1103
Save cursor location in visited buffer after closing it or Emacs.
1112
1104
1113
Removed:
#+BEGIN_SRC emacs-lisp
1105
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1114
1106
(save-place-mode 1)
1115
1107
#+END_SRC
1116
1108
@@ -1119,13 +1111,13 @@
1119
1111
A line of text is considered ``filled'' when it reaches 79 characters in
1120
1112
length.
1121
1113
1122
Removed:
#+BEGIN_SRC emacs-lisp
1114
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1123
1115
(setq-default fill-column 79)
1124
1116
#+END_SRC
1125
1117
1126
1118
Automatically break lines longer than =fill-column=.
1127
1119
1128
Removed:
#+BEGIN_SRC emacs-lisp
1120
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1129
1121
(add-hook 'org-mode-hook 'turn-on-auto-fill)
1130
1122
#+END_SRC
1131
1123
@@ -1136,7 +1128,7 @@
1136
1128
We want the Emacs Lisp keyword =lambda= to be rendered as \lambda within the
1137
1129
editor. This is mostly for a subjective ``cool'' factor.
1138
1130
1139
Removed:
#+BEGIN_SRC emacs-lisp
1131
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1140
1132
(global-prettify-symbols-mode 1)
1141
1133
#+END_SRC
1142
1134
@@ -1145,7 +1137,7 @@
1145
1137
Let's pimp out the appearance of our text in Org mode. First, we prettify
1146
1138
checkbox lists.
1147
1139
1148
Removed:
#+BEGIN_SRC emacs-lisp
1140
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1149
1141
(when (string-equal system-type "gnu/linux")
1150
1142
(add-hook 'org-mode-hook
1151
1143
(lambda ()
@@ -1160,13 +1152,13 @@
1160
1152
1161
1153
We replace the longer ~yes-or-no-p~ questions with more convenient ~y-or-n-p~.
1162
1154
1163
Removed:
#+BEGIN_SRC emacs-lisp
1155
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1164
1156
(defalias 'yes-or-no-p 'y-or-n-p)
1165
1157
#+END_SRC
1166
1158
1167
1159
Disable minibuffer scroll bar.
1168
1160
1169
Removed:
#+BEGIN_SRC emacs-lisp
1161
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1170
1162
(set-window-scroll-bars (minibuffer-window) nil nil)
1171
1163
#+END_SRC
1172
1164
@@ -1175,7 +1167,7 @@
1175
1167
Without a carefully designed theme, our editor would become unusable. Thus, we
1176
1168
describe two themes that were developed purposefully and iteratively.
1177
1169
1178
Removed:
#+BEGIN_SRC emacs-lisp
1170
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1179
1171
(setq custom-theme-directory (concat user-emacs-directory "themes/"))
1180
1172
(load-theme 'blendoit-light)
1181
1173
; (load-theme 'blendoit-dark)
@@ -1227,7 +1219,7 @@
1227
1219
In files containing a mix of ~variable-pitch~ and ~fixed-pitch~ fonts, the
1228
1220
cursor is a more MS Word-like bar.
1229
1221
1230
Removed:
#+BEGIN_SRC emacs-lisp
1222
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1231
1223
(setq-default cursor-type 'bar)
1232
1224
#+END_SRC
1233
1225
@@ -1268,7 +1260,7 @@
1268
1260
1269
1261
We use ~variable-pitch-mode~ for appropriate modes.
1270
1262
1271
Removed:
#+BEGIN_SRC emacs-lisp
1263
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1272
1264
(add-hook 'org-mode-hook 'variable-pitch-mode)
1273
1265
(add-hook 'info-mode-hook 'variable-pitch-mode)
1274
1266
#+END_SRC
@@ -1278,7 +1270,7 @@
1278
1270
Make default font size larger on displays of which the resolution is greater
1279
1271
than 1920\times1080.
1280
1272
1281
Removed:
#+BEGIN_SRC emacs-lisp
1273
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1282
1274
#+END_SRC
1283
1275
1284
1276
** TODO ~minimal~
@@ -1291,13 +1283,13 @@
1291
1283
1292
1284
** Profiling --- stop
1293
1285
1294
Removed:
#+BEGIN_SRC emacs-lisp
1286
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1295
1287
;; (profiler-stop)
1296
1288
#+END_SRC
1297
1289
1298
1290
** Profiling --- report
1299
1291
1300
Removed:
#+BEGIN_SRC emacs-lisp
1292
Added:
#+BEGIN_SRC emacs-lisp :tangle yes
1301
1293
;; (profiler-report)
1302
1294
#+END_SRC
1303
1295