No edit summary |
No edit summary Tags: Visual edit apiedit |
||
(12 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
− | {{review}} |
||
{{TipImported |
{{TipImported |
||
|id=860 |
|id=860 |
||
|previous=859 |
|previous=859 |
||
|next=861 |
|next=861 |
||
− | |created= |
+ | |created=2005 |
|complexity=basic |
|complexity=basic |
||
|author=Marc Weber |
|author=Marc Weber |
||
− | |version= |
+ | |version=7.0 |
|rating=4/19 |
|rating=4/19 |
||
− | |category1= |
+ | |category1=Searching |
|category2= |
|category2= |
||
}} |
}} |
||
− | To count the number of matches of a pattern, you could enter a substitute command such as |
||
+ | == To count the number of matches of a pattern, use the [[Search and replace|substitute command]] with the <code>n</code> flag. The following shows the number of times that <code>pattern</code> matches text in the current buffer: == |
||
<pre> |
<pre> |
||
− | :%s/pattern/ |
+ | :%s/pattern//gn |
</pre> |
</pre> |
||
⚫ | |||
− | After viewing the count in the status line, press <tt>u</tt> to undo the change. |
||
+ | <pre> |
||
+ | :%s/pattern//n |
||
+ | </pre> |
||
+ | To restrict the count to a region of the text, specify a range instead of <code>%</code> (<code>%</code> means all lines). For example, the following counts the number of occurrences in lines 10 to 50 inclusive: |
||
− | However, in recent versions of Vim, there is a better procedure. The following will display the count, but will not change the buffer. |
||
+ | <pre> |
||
+ | :10,50s/pattern//gn |
||
+ | </pre> |
||
+ | The following counts the number of occurrences in the lines in the most recent [[visual selection]]. |
||
<pre> |
<pre> |
||
− | : |
+ | :'<'>s/pattern//gn |
</pre> |
</pre> |
||
+ | ==Word under cursor== |
||
⚫ | |||
+ | To count the number of occurrences of the last used search pattern, you can leave out the pattern entirely: |
||
− | |||
<pre> |
<pre> |
||
− | :%s/ |
+ | :%s///gn |
</pre> |
</pre> |
||
+ | This makes it easy to count the number of occurrences of the word under the cursor: first press <code>*</code> to [[Searching|search for the current word]], then enter <code>:%s///gn</code> to count all occurrences of that word. |
||
+ | |||
==Comments== |
==Comments== |
Revision as of 13:12, 25 May 2015
Tip 860 Printable Monobook Previous Next
created 2005 · complexity basic · author Marc Weber · version 7.0
To count the number of matches of a pattern, use the substitute command with the n
flag. The following shows the number of times that pattern
matches text in the current buffer:
:%s/pattern//gn
Omit g
to display the number of lines where the pattern matches:
:%s/pattern//n
To restrict the count to a region of the text, specify a range instead of %
(%
means all lines). For example, the following counts the number of occurrences in lines 10 to 50 inclusive:
:10,50s/pattern//gn
The following counts the number of occurrences in the lines in the most recent visual selection.
:'<'>s/pattern//gn
Word under cursor
To count the number of occurrences of the last used search pattern, you can leave out the pattern entirely:
:%s///gn
This makes it easy to count the number of occurrences of the word under the cursor: first press *
to search for the current word, then enter :%s///gn
to count all occurrences of that word.