Vimで文字数をカウントする方はないのかと思って調べたら「g Ctrl-g」で表示できるということがわかりました(たくさんのブログなどで紹介されています)。例えば、このブログの中のある記事の冒頭をVimにコピペして調べるとこんな具合です。
なるほど。これだと、全体で75列あって、カーソルの位置は1列。以下、行、単語数、文字数、バイト数と並んでます。文字数は259文字ということですね。便利です。
しかし、同じテキストをNotepad++で調べてみると文字数が合いません。
Vimでは259文字と表示されていましたが、Notepad++だと245文字と表示されます。
試しに、ラッコツールズでも調べてみました。
こちらはNotepad++と同じ245文字ですね。だとすると多数決で、245文字のほうが正しそうです。
では、なぜVimの文字数は違っているのか?じっと考えて、「ひょっとしたら改行コードを数えているのでは?」と思い当たりました。
文字数は259、行数は7です。しかし、259から7を引いても252なので合いません。でも、その差は行数と同じ7です。なるほど。Windowsの改行コードはCRとLFなので、2文字です。つまり、行数の2倍を引けば合います。259 – (7 * 2) = 245
文字数や行数を変化させて確認して、これが正しいことを確認しました。
なお、Linux(というか、UNIX)では改行コードはLFだけですので、この文章の文字数は252と表示されました。
つまり、Windowsの場合は文字数から行数の二倍の数を引く、Linuxの場合は文字数から行数の数を引く。これで、文字だけの数が得られます。
Vimでも改行コードを含めない文字数をカウントする方法(コマンド)はあるのでしょうか?もしご存知でしたらコメントで教えて下さい。