Regex vim查找报告并将出现次数存储在缓冲区中
我得到这个部分:s/pattern//gn 使用vim报告“模式”的出现次数Regex vim查找报告并将出现次数存储在缓冲区中,regex,search,vim,count,Regex,Search,Vim,Count,我得到这个部分:s/pattern//gn 使用vim报告“模式”的出现次数 但是,有没有办法将报告的数字存储在缓冲区中供以后使用呢?首先,我想你说的“缓冲区”是指“寄存器/变量” 实现这一目标有不同的方法: 国际海事组织称,外部指挥是最直接的方式 let a=system('grep -c "yourPattern" '.expand("%:p")) 因此,变量a包含计数。但是您需要有可用的grep,并且vim缓冲区应该是一个文件 使用searchpos()函数和循环。 从col1第1行调
但是,有没有办法将报告的数字存储在缓冲区中供以后使用呢?首先,我想你说的“缓冲区”是指“寄存器/变量” 实现这一目标有不同的方法:
- 国际海事组织称,外部指挥是最直接的方式
因此,变量let a=system('grep -c "yourPattern" '.expand("%:p"))
包含计数。但是您需要有可用的a
,并且vim缓冲区应该是一个文件grep
- 使用
函数和循环。 从col1第1行调用searchpos()
函数,累积匹配项,直到文件/缓冲区结束。你需要实现这个循环searchpos()
- 使用redirect(
)将消息重定向到register,然后执行进一步的处理。因此,您可以在寄存器中的y行中有:redir
消息,然后将x个匹配项
取出x
:h项目
将向您显示该项目的帮助文档(功能用法/选项/命令等),如果您不了解某些命令/功能,请执行此操作
但是首先,您应该执行
:h window
,以了解vim中的缓冲区/窗口是什么。请包括您使用的示例代码并解释问题谢谢您的回答。然而,细节远远超出了我的专业水平。请原谅我的无知。vim在屏幕底部报告点击次数。显然,该号码必须保存在某个位置(寄存器、内存?)。没有办法以一种非常简单的方式访问该位置吗?你是对的,该号码必须保存在vim的源代码中的某个地方。从vim应用程序,AFAIK,不,我们不能直接读取某处的计数。太好了。谢谢你没有误解我的评论。也许我会搬过去凑个C来解决这个问题。