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でも改行コードを含めない文字数をカウントする方法(コマンド)はあるのでしょうか?もしご存知でしたらコメントで教えて下さい。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)