Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to compute the number of times word appeared in a file or in some range

Sometimes I want to see how many times a certain function is called in a file or a code block. How do you do that? I am using Vim 7.2.

I presume you have to use !wc or some such.

like image 949
vehomzzz Avatar asked Sep 09 '09 11:09

vehomzzz


2 Answers

For counting the number of times some pattern occurs, use:

:%s/pattern//gn

The 'n' flag count the number of occurrences without doing any change to the document.

For counting the total number of words, you have several options.

If you want to run as an external command:

:!wc -w %

If you want to run it inside VIM:

:w !wc -w
like image 113
dcruz Avatar answered Nov 18 '22 12:11

dcruz


You can use a substitution without a replacement to get the number of occurences. If you want to count all occurences of word use

:%s/\<word\>//gn

\< and \> match start and end of word. The n option prevents the substitution from being done.

like image 37
heijp06 Avatar answered Nov 18 '22 11:11

heijp06