もう何処で知ったのか忘れてしまったが、良く使っているのでここに書き下しておく。
vimで文章の文字数をカウントする最も簡単な方法は、以下のexコマンドで空の置換をする方法だと思う。
:%s/.//gn
.は任意の1文字にマッチする正規表現で、gはマッチしたすべての箇所を置換する指示、nは実際には置換を行わないという指示だ。要するにこれは実際には何も置換しない空の置換だ。
vimではsコマンドした直後に置換した文字数が表示されるため、このように空の置換をすることで、文字数と行数がカウントできるというわけだ。
最初の正規表現を\Sにすれば、スペースを除いた文字数をカウントすることもできる。
:%s/\\S//gn
上記のコマンド例は、%sでバッファ全体の文字数をカウントしているが、もちろんビジュアルモードから選択範囲の文字数だけをカウントすることもできる。便利。