この記事では、Vim / neovim でプラグインを使わずに「文字数や単語数を調べる」ための最も簡単なキーバインドについて、ご紹介します。
[解答] g Ctrl-g
Vimキーバインド:単語を数える
(ノーマルモード) g Ctrl-g
ファイル(バッファ)全体にいくつ単語があるか、文字数がいくつかあるかわかります。表示される内容は vim / gvim / neovim / iVim など、利用する Vim 環境によってそれぞれ異なります。
非常に手軽に使えるキーバインドですから、知っているだけで重宝しますね。
(おまけ)Vimコマンド:置換コマンドで数える
置換コマンドを利用して数えることもできます。
:%s/./&/gn (文字数の場合) :%s/\i\+/&/gn (単語数の場合) :%s/^//n (行数の場合)
最後に n を付与することで、実際に置換せずに実行できます。
こちらは条件に柔軟性が出てくる一方、覚えにくくて手軽さに欠けるのが難点ですね。
うまく使い分けられると便利です。
このVimコマンドの補足情報
- 利用頻度
- 便利さ
- 覚え易さ
関連するVimヘルプ
Vim のヘルプでは下記のように解説されています。
12.5 単語を数える
ときには、単語数に制限のある文章を書かなければならない場合もあるでしょう。Vim には単語を数えるための機能があります。
ファイル全体の単語数を数えるには、次のコマンドを使います:g CTRL-G
“g” の後の空白は入力しないでください。この空白はコマンドを読み易く表記するためのものです。
次のような結果が出力されます:列 1 / 0; 行 141 / 157; 単語 748 / 774; バイト 4489 / 4976
これを見れば、何番目の単語 (748) にカーソルがあり、ファイル全体でいくつの単語(774) があるのかがわかります。
ファイルの一部の文章についてのみ単語を数えたい場合は、テキストの先頭に移動して “g CTRL-G” を入力し、テキストの末尾に移動して “g CTRL-G” をもう一度入力し、そ
して、表示された単語の位置を引き算して単語数を求めます…これは頭の体操にはなりますが簡単な方法とは言えませんね。ビジュアルモードを使えば、テキストを選択してから “g CTRL-G” を入力するだけです。次のような結果が表示されます:選択 5 / 293 行; 70 / 1884 単語; 359 / 10928 バイト
単語や行などを数える他の方法については count-items を参照してください。
usr_12 – Vim日本語ドキュメント
こちらは、Vim上では下記のコマンドでヘルプを確認できます。
:help usr_12.txt :help g_CTRL-G :help word-count :help byte-count :help count-items
ヘルプで検索するときは、通常は大文字小文字は識別されませんので、どちらでも構いません。
参考書籍
こちらの書籍が参考になります。
Vim/neovim関連の書籍で、もっとも評判が良くてバイブルと呼んでる人もいる一冊です。Vim/neovimのバージョンに依存しない沢山のTips形式で、その表題通りに「思考のスピードで編集」できるようになるノウハウが詰まっています。その高い評価は Amazon のレビューからも分かる通りです。Vimmer なら必ず一度は読んでおいて間違いありません。
こちらもVim関連の書籍で評価が高い書籍の一冊です。vim-jpで見かける上級Vimmer(Vimサポーターズ)の皆様による、Vimを実践で使ったノウハウからプラグイン関連の情報が詰まっています。日本の Vim界隈を知る上でも是非一読しておきたい一冊です。
Vim/neovim の設定ファイルやプラグインなど、Vim script に関するノウハウがいくつも詰まった一冊です。日本で Vim Script をここまで深く解説している唯一の書籍と言えます。Vim力を伸ばしたいと考えるなら、絶対に避けては通れない書籍でしょう。