コマンドラインwc
でファイルの文字、単語、行をカウントするために使用できることを知っています。
vimで単語の数を数える方法はありますか?
コマンドラインwc
でファイルの文字、単語、行をカウントするために使用できることを知っています。
vimで単語の数を数える方法はありますか?
回答:
独自のカウンターvi
を使用して、内部の単語と行をカウントできますvi
。
を押しg、次にCTRL-を押しgます。一番下の行は、たとえば次のようになります。
Col 1 of 11; Line 1 of 106; Word 1 of 344; Byte 1 of 2644
または、vi
のメソッドを使用してシェルコマンドを呼び出します。
:w !wc -w
これにより、:w
最初にsave()コマンドが呼び出され、次にwc -w
出力が表示されます。例:
:w !wc -w
344
Press ENTER or type command to continue
を押しEnterてに戻りvi
ます。
:!wc %
Vimで試すこともできますが、Vimのバッファーにあるものではなく、ディスク上のファイルのサイズをカウントします。これは、あなたが望んだことかもしれませんし、そうでないかもしれません。
-w
、D_Bye(明らかに自己削除した)による2014年の回答の削除に似ている(出力を単語のみに制限するフラグを引いた)ことです。
vim-airlineなどのプラグインは、ステータスバーの一部としてファイル(および選択)の単語数を提供できます。
特定のテキスト(ファイル全体ではない)内の単語数をカウントする場合は、\S\+
regexpを使用します。
:s/\S\+//gn
結果。Vimは次のようなものを表示します。10 matches on 1 line
:
ビジュアルモードでヒットすると、vimはコマンドを先頭に追加します'<,'>
。これにより、選択したテキストに対してコマンドが適用されます。
\S\+
単語、つまり空白で区切られた文字のグループをキャプチャします。
:w !<cmd>
構造の誤った説明です。コマンドに接続されているパイプに現在のバッファーを書き込みます。現在のバッファをファイルに個別に書き込むことはできません。それにもかかわらず、それは質問が求めたものを行います。