在vi编辑器中searchstring并获得计数

我想search一个string,并使用vi编辑器查找文件中出现的次数。

 :g/xxxx/d 

这将删除所有模式的行,并报告有多less删除。 撤消让他们回来后。

方式是

:%S /图案// GN

你需要n标志。 要数字用法:

 :%s/\i\+/&/gn 

和一个特定的词:

 :%s/the/&/gn 

请参阅count-items文档部分。

如果您只是input:

 %s/pattern/pattern/g 

那么状态行也会给你vi的匹配数。

:%s / string / string / g会给出答案。

(类似古斯塔沃说,但另外:)

对于任何以前的search,你可以简单地做到:

 :%s///gn 

一个模式是不需要的,因为它已经在search寄存器( @/ )。

“%” – 在整个文件中做s/
“g” – 全球search(在一行中有多个匹配)
“n” – 防止任何replaces/没有东西被删除! 没有什么必须撤消!
(更多信息请参见: :help s_flag

(这样,它可以完美地与“ search视觉select的文本 ”,如vim-wikia tip171所述 )

使用

:%S /图案/ \ 0 /克

当模式string太长,你不想再input一遍。

我build议做:

  1. *来search光标下的内容,或者执行标准/patternsearch。
  2. 使用:%s///gn来获取发生次数。 或者您可以使用:%s///n来获取出现次数的行数。

**我真的与我可以find一个插件,将给每个search“N N 1匹配N N”的消息,但唉。

注意:不要被输出的棘手措辞弄糊涂了。 前者的命令可能会给你4 matches on 3 lines后者可能会给你3 matches on 3 lines 。 虽然在技术上是准确的,后者是误导,应该说'三线匹配'。 所以,正如你所看到的,实际上从来没有任何需要使用后者('n')的forms。 通过使用“gn”表单,您可以获得相同的信息,更清楚,更多。

Interesting Posts