elispでword count

就活のエントリーシートでwordcountが必要なときってよくある。
でもemacsのワードカウントコマンドってあるのかよく分からんかったので自分で作ってみた。

(defun wc (text)
  "word count"
  (length (apply 'concat (split-string text "[\s\n ]+"))))

(defun bwc nil
  "buffer word count"
  (interactive)
  (message "current buffer has %d words" (wc (buffer-string))))


(defun cwc nil
  "current clip board word count"
  (interactive)
  (message "clip board has %d words" (wc (current-kill 0))))


これを.emacs.emacs.elに書いてちょ。
適当な文章を開いて
M+x bwc
でスペースと改行を除いた文書全体のword数が出ます。


あとクリップボードにあるワード数は
M+x cwc
ででまつ。
GUI emacsの場合、右クリック&ドラックで選択領域を出してやってもいいし、
C+space -> M+w
などでコピーしてクリップボードに張り付けてもokです。