I spend a lot of my time in emacs. But I’ve only recently really started to fiddle with things in emacs lisp. Here’s some twiddling.
I really like Markdown. I write practically everything in Markdown; it’s a wonderful way to just barely organize what should be mostly plain text. I even like the way that plaintext files look in Markdown. Writing in Markdown is like swinging a well-balanced hammer; it’s easy enough to use that it just seems obvious, rather than designed. (This site is just a thin wrapper around a bunch of Markdown files, for instance…)
Anyway, I also rather like the emacs Markdown Mode, but its title and subsection headings don’t expand to underline the entire line of current text. This bothered me, so I did this:
(defun underline (c)
(save-excursion
(let (w)
(move-end-of-line 1)
(setq w (current-column))
(newline)
(insert (apply 'concat (make-list w c)))
)))
(defun markdown-under-title ()
(interactive)
(underline "=")
)
(defun markdown-under-section ()
(interactive)
(underline "-")
)
(add-hook 'markdown-mode-hook
(lambda ()
(local-set-key "\C-c\C-tt" 'markdown-under-title)
(local-set-key "\C-c\C-ts" 'markdown-under-section)
))
You could argue that I’m being needlessly fiddly. You’d probably be right.