** Ivy-rich
#+begin_src emacs-lisp
(use-package ivy-rich
- :after ivy
+ :after (ivy counsel)
:config (ivy-rich-mode))
#+end_src
** Counsel
:straight (diff-hl :type git :host github :repo "dgutov/diff-hl")
:config (global-diff-hl-mode))
#+end_src
+* General text editing
** Indentation
Indent after every change.
#+begin_src emacs-lisp
(use-package aggressive-indent
:config (global-aggressive-indent-mode))
#+end_src
+** Spell checking
+Spell check in text mode, and in prog-mode comments.
+#+begin_src emacs-lisp
+ (dolist (hook '(text-mode-hook))
+ (add-hook hook (lambda () (flyspell-mode))))
+ (dolist (hook '(change-log-mode-hook log-edit-mode-hook))
+ (add-hook hook (lambda () (flyspell-mode -1))))
+ (add-hook 'prog-mode (lambda () (flyspell-prog mode)))
+#+end_src
+** Expand tabs to spaces
+#+begin_src emacs-lisp
+ (setq-default tab-width 2)
+#+end_src
+** Copy kill ring to clipboard
+#+begin_src emacs-lisp
+ (setq x-select-enable-clipboard t)
+ (defun copy-kill-ring-to-xorg ()
+ "Copy the current kill ring to the xorg clipboard."
+ (interactive)
+ (x-select-text (current-kill 0)))
+#+end_src
+** Browse kill ring
+#+begin_src emacs-lisp
+ (use-package browse-kill-ring)
+#+end_src
+** Save place
+Opens file where you left it.
+#+begin_src emacs-lisp
+ (save-place-mode)
+#+end_src
+** Writing mode
+Distraction free writing a la junegunn/goyo.
+#+begin_src emacs-lisp
+ (use-package olivetti
+ :config
+ (evil-leader/set-key "o" 'olivetti-mode))
+#+end_src
+** Abbreviations
+Abbreviate things!
+#+begin_src emacs-lisp
+ (setq abbrev-file-name "~/.emacs.d/abbrevs")
+ (setq save-abbrevs 'silent)
+ (setq-default abbrev-mode t)
+#+end_src
* Functions
** Easily convert splits
Converts splits from horizontal to vertical and vice versa. Lifted from EmacsWiki.
(substitute-key-definition 'kill-buffer 'kill-buffer-and-window global-map)
#+end_src
* Other settings
-** Save place
-Opens file where you left it.
-#+begin_src emacs-lisp
- (save-place-mode)
-#+end_src
** OpenSCAD
Render OpenSCAD files, and add a preview window.
(use-package scad-preview
:straight (scad-preview :type git :host github :repo "Armaanb/scad-preview"))
#+end_src
-** Writing mode
-Distraction free writing a la junegunn/goyo.
-#+begin_src emacs-lisp
- (use-package olivetti
- :config
- (evil-leader/set-key "o" 'olivetti-mode))
-#+end_src
** Control backup files
Stop backup files from spewing everywhere.
#+begin_src emacs-lisp
(setq backup-directory-alist `(("." . "~/.emacs.d/backups")))
#+end_src
-** Abbreviations
-Abbreviate things!
-#+begin_src emacs-lisp
- (setq abbrev-file-name "~/.emacs.d/abbrevs")
- (setq save-abbrevs 'silent)
- (setq-default abbrev-mode t)
-#+end_src
-** Expand tabs to spaces
-#+begin_src emacs-lisp
- (setq-default tab-width 2)
-#+end_src
** Make yes/no easier
#+begin_src emacs-lisp
(defalias 'yes-or-no-p 'y-or-n-p)
"0c" '0x0-upload-kill-ring
"0p" '0x0-upload-popup))
#+end_src
-** Copy kill ring to clipboard
-#+begin_src emacs-lisp
- (setq x-select-enable-clipboard t)
- (defun copy-kill-ring-to-xorg ()
- "Copy the current kill ring to the xorg clipboard."
- (interactive)
- (x-select-text (current-kill 0)))
-#+end_src
-** Browse kill ring
-#+begin_src emacs-lisp
- (use-package browse-kill-ring)
-#+end_src
* Tangles
** Spectrwm
*** General settings