I rushed through that post about logging money with org mode, and didn't take much time to edit it. This
bothers me. Today I went into
writegood-mode to catch my sloppiest writing mistakes.
Vim users may want to look at vim-wordy, a plugin with similar goals to
writegood-mode is a minor Emacs mode which highlights troublesome patterns in your
writing. It looks for three patterns:
- weasel words
- A set of adverbs that add no meaning to the words they modify.
- passive voice
- sentences where the subject receives an action rather than performing it. Read this bit about passive voice. They explain it better.
- duplicated words
- “the the” is a common writing mistake, unless you're talking about the band.
writegood-mode used a collection of bash scripts by Matt Might for inspiration.
Installing And Using It
Use the Emacs package manager to install
M-x package-install writegood-mode
Enable it at any time with
M-x writegood-mode. The documentation suggests you set a global command key to
writegood-mode more quickly, so I added that to
(global-set-key (kbd "C-c g") 'writegood-mode)
Adding a Hook
I must confess something to you. I installed
writegood-mode months ago. I never remember to manually load
it. Maybe add a hook to load it?
(add-hook 'markdown-mode-hook 'writegood-mode)
This ensures that at least Markdown blog posts are automatically checked.
Customizing Your Weasel Words
writegood-weasel-words contains a good starter collection of words and phrases to avoid. You can replace
or extend this list with your own preferences.
(setq bmw/weasel-words '("actually" "basically" "easily" "easy" "simple" "simply")) (setq writegood-weasel-words (-concat writegood-weasel-words bmw/weasel-words))
Today I just take the take the original list as-is and add my own list of weasel words.
dash.el returns the result of concatenating two lists into a single list.
dash.el is an Emacs utility library that adds functions for examining and manipulating lists.
M-x package-install dash
writegood-mode provides readability tests based on Flesch-Kincaid.
(global-set-key (kbd "C-c C-g g") 'writegood-grade-level) (global-set-key (kbd "C-c C-g e") 'writegood-reading-ease)
|Flesch-Kincaid grade level score||4.98|
|Flesch-Kincaid reading ease score||77.68|
I write simply when possible, so these numbers please me. Readers can find highly technical writing at other sites.
Professional writers have professional editors. The rest of us do not. A tool like
replace a professional editor. However, by highlighting common patterns of lazy writing, it can help us pay
attention to our words while we write them.
Excuse me. I need to edit that other post.