繁体   English   中英

vim查找报告并将出现的次数存储在缓冲区中

[英]vim find report AND store number of occurrences in buffer

我得到这部分:s / pattern // gn使用vim报告“模式”的出现次数。

但是有什么方法可以将报告的号码存储在缓冲区中以备后用?

首先,我想您的意思是“缓冲区”是“寄存器/变量”。

有多种方法可以实现:

  • 外部命令是最直接的方式,IMO

     let a=system('grep -c "yourPattern" '.expand("%:p")) 

    因此,变量a包含计数。 但是您需要有grep可用,并且vim缓冲区应该是一个文件。

  • 使用searchpos()函数并循环。 从col1第1行,调用searchpos()函数,累积匹配项,直到文件/缓冲区结束。 您需要实现循环。

  • 使用redirect( :redir )将消息重定向到注册,然后进行进一步处理。 因此,您可以在寄存器x matches in y lines消息中有x matches in y lines然后稍后再选择x个。

我更喜欢第一种方式。

:h item会向您显示该项目的帮助文档(功能用法/选项/命令等),如果您不了解某些命令/功能,请执行此操作。

但是首先您应该执行:h window ,以了解什么是vim中的缓冲区/窗口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM