diff options
| author | tslil clingman <> | 2019-09-11 19:18:14 -0400 |
|---|---|---|
| committer | tslil clingman <> | 2019-09-11 19:18:14 -0400 |
| commit | ac1a4884d03fc0495c773500d8a13f84b695fa43 (patch) | |
| tree | 29e5ec49e0ce957d80d8f11a155b47840c74f488 /emacs/inits/23-text-related.el | |
Init
Diffstat (limited to 'emacs/inits/23-text-related.el')
| -rw-r--r-- | emacs/inits/23-text-related.el | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/emacs/inits/23-text-related.el b/emacs/inits/23-text-related.el new file mode 100644 index 0000000..8d48795 --- /dev/null +++ b/emacs/inits/23-text-related.el @@ -0,0 +1,133 @@ +;; Time-stamp: <2019-07-17 18:18:58 (tslil@basingstoke)> + +;; ----------------------------------------------------------------------------- +;; Spelling + +(use-package flyspell-correct-ivy + :ensure t :defer t) + +(use-package flyspell + :ensure t + :bind (:map flyspell-mode-map + ("M-$" . flyspell-correct-wrapper) + ("C-," . nil) + ("C-." . nil) + ("C-\"" . nil)) + :init + (setq ispell-dictionary "british" + flyspell-default-dictionary "british" + flyspell-correct-interface #'flyspell-correct-ivy)) + +(setq sentence-end-double-space nil) + +(add-hook 'mail-mode-hook (lambda () + (electric-pair-local-mode 1) + (turn-on-auto-fill) + (flyspell-mode 1) + (company-mode 1))) + +(add-hook 'text-mode-hook (lambda () + ;; (set-input-method "Adga") + (subword-mode 1) + (electric-pair-local-mode 1) + (turn-on-auto-fill) + (siege-mode 1) + (flyspell-mode 1))) + +(use-package dictionary :ensure t :defer t) + +;; ----------------------------------------------------------------------------- +;; Org + +(use-package org + :defer t + :bind (:map org-mode-map + ("M-h" . nil)) + ;; :hook (org-mode . (lambda () + ;; (activate-input-method default-input-method))) + :config + (setq org-use-sub-superscripts (quote {}) + org-modules nil)) + + +;; ----------------------------------------------------------------------------- +;; Deft + +(use-package deft + :ensure t + :defer t + :commands (deft) + :bind (("C-z" . deft-take-note) + ("C-c C-z" . deft)) + :config + (setq deft-default-extension "org" + deft-directory "~/store/notes" + deft-use-filename-as-title nil + deft-use-filter-string-for-filename t + deft-file-naming-rules '((noslash . "_") + (nospace . "_") + (case-fn . downcase)) + deft-org-mode-title-prefix t) + + (defvar deft-take-note-pre-grab + '((region-thing . (let ((r (if (region-active-p) + (buffer-substring (region-beginning) (region-end)) + (thing-at-point 'line)))) + (if r (concat r "\n") ""))) + (bfn . (let ((f (buffer-file-name)) + (b (buffer-name))) (if f f (concat b " (no file associated)"))))) + "List of pairs of symbol names and (functions evaluating to) + strings evaluated before the buffer is created, and made + available for deft-take-note-default-contents.") + + (defvar deft-take-note-post-grab '() + "List of pairs of symbol names and (functions evaluating to) + strings evaluated after the buffer is created, and made + available for deft-take-note-default-contents.") + + (defvar deft-take-note-default-contents '(region-thing bfn "\n") + "List with string literals and symbols defined in the pre and + post grab lists to be inserted into the buffer.") + + (defun deft-take-note () + (interactive) + (let ((pre-alist (mapcar #'(lambda (elt) `(,(car elt) . ,(eval (cdr elt)))) + deft-take-note-pre-grab))) + (let ((bn (concat (format-time-string "%Y%m%d-%H:%M:%S.%N-%Z") "." + deft-default-extension))) + (switch-to-buffer bn) + (set-visited-file-name (expand-file-name + (concat deft-directory "/" bn))) + (let ((complete-alist + (append pre-alist + (mapcar #'(lambda (elt) `(,(car elt) . ,(eval (cdr elt)))) + deft-take-note-post-grab)))) + (mapc #'(lambda (elt) (if (eq (type-of elt) 'string) + (insert elt) + (insert (cdr (assoc elt complete-alist))))) + deft-take-note-default-contents)))))) + +;; ----------------------------------------------------------------------------- +;; Useful keybinds + +(defun vi-open-line-above () + "Insert a newline above the current line and put point at beginning." + (interactive) + (unless (bolp) + (beginning-of-line)) + (newline) + (forward-line -1) + (indent-according-to-mode)) + +(defun vi-open-line-below () + "Insert a newline below the current line and put point at beginning." + (interactive) + (unless (eolp) + (end-of-line)) + (newline-and-indent)) + +(global-set-key (kbd "M-o") 'vi-open-line-below) +(global-set-key (kbd "C-o") 'vi-open-line-above) + +(global-set-key (kbd "M-C-+") 'text-scale-increase) +(global-set-key (kbd "M-C--") 'text-scale-decrease) |
