在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议做:
- 用
*
来search光标下的内容,或者执行标准/pattern
search。 - 使用
:%s///gn
来获取发生次数。 或者您可以使用:%s///n
来获取出现次数的行数。
**我真的与我可以find一个插件,将给每个search“N N 1匹配N N”的消息,但唉。
注意:不要被输出的棘手措辞弄糊涂了。 前者的命令可能会给你4 matches on 3 lines
后者可能会给你3 matches on 3 lines
。 虽然在技术上是准确的,后者是误导,应该说'三线匹配'。 所以,正如你所看到的,实际上从来没有任何需要使用后者('n')的forms。 通过使用“gn”表单,您可以获得相同的信息,更清楚,更多。