Quellcode durchsuchen

~/.emacs.d/init.el: Add mode to easily edit text notes

E.g. it's now just starting emacs and `C-x C-n` to get a list of
recently edited notes and then choosing one with completions.

There is also a `simple-writing-mode` that `word-wrap`s contents at
`fill-column`, making writing long documents easier without having to
care about manually breaking lines.
Lucas Stadler vor 9 Jahren
Ursprung
Commit
494453c14a
1 geänderte Dateien mit 38 neuen und 0 gelöschten Zeilen
  1. 38 0
      .emacs.d/init.el

+ 38 - 0
.emacs.d/init.el

@ -20,6 +20,44 @@
20 20
21 21
(add-hook 'clojure-mode-hook 'paredit-mode)
22 22
23
(defun simple-writing-mode (&optional enable)
24
  "Change the current buffer to allow for simple writing of long texts"
25
  (interactive)
26
  (if (or enable (null (get this-command 'is-enabled)))
27
      (progn
28
        (setq-local word-wrap t)
29
        (visual-fill-column-mode 1)
30
        (set-fringe-style '(0 . nil))
31
        (put this-command 'is-enabled t)
32
        (message "Simple writing mode enabled"))
33
    (progn
34
      (setq-local word-wrap nil)
35
      (visual-fill-column-mode 0)
36
      (set-fringe-style nil)
37
      (put this-command 'is-enabled nil)
38
      (message "Simple writing mode disabled"))))
39
40
(defun read-lines (path)
41
  (with-temp-buffer
42
    (insert-file-contents path)
43
    (split-string (buffer-string) "\n" t)))
44
45
(require 'ido-vertical-mode)
46
(defun find-recent-notes ()
47
  "Find recently edited notes."
48
  (interactive)
49
  (let ((vertical-mode-enabled ido-vertical-mode))
50
    (turn-on-ido-vertical)
51
    (let* ((recent (read-lines "~/.recent.txt"))
52
           (file (ido-completing-read "Choose note: " recent)))
53
      (when file
54
        (find-file file)))
55
    (if (null vertical-mode-enabled)
56
        (turn-off-ido-vertical))
57
    (simple-writing-mode t)))
58
59
(global-set-key (kbd "C-x C-n") 'find-recent-notes)
60
23 61
(custom-set-variables
24 62
 '(global-auto-revert-mode t)
25 63
 '(haskell-mode-hook (quote (turn-on-haskell-simple-indent)))