It is often, but not always, nice to have a running count of the words in a buffer. Most usually, this is convenient for writers or students who need to keep track of word count in a paper or book. One way of doing that is the excellent wc-mode that I wrote about previously.
I like to keep a running count when I’m writing a blog post but almost never otherwise. I have a key sequence to turn it on and off so it’s easy to enable it for the buffers that I need it in. Still, it got to be a pain to turn it on every time I wrote a post so I added a bit of Elisp to enable it when I open a file in /Users/jcs/org/blog
, which is where my blog posts live.
Here’s the code, which as you can see, is merely part of the use-package
call.
(use-package wc-mode :ensure t :init (add-hook 'org-mode-hook (lambda () (when (and (buffer-file-name) (string= (file-name-directory (buffer-file-name)) "/Users/jcs/org/blog/")) (wc-mode 1)))) :bind ("H-=" . wc-mode) :config (wc-mode nil))
It’s important to add the hook in the :init
section, otherwise it won’t work until wc-mode
is enabled manually at least once.
This is pretty trivial and I wasn’t going to write about it but I saw a question on reddit asking how to do something similar so I thought my solution might be useful to someone else.