Gvim高级操作010--匹配关键字连续行并保存
1、正则表达式匹配关键词并保持
在IC设计中,进行需要检查一些EDA工具的report 报告和log文件,经常需要将我们关注的行以及连续行筛选并保存下来。此时我们可以使用gvim对各类log文件进行筛选并保存所关注的Error以及warning。如VCS以及spyglass、Nlint产生的Error和warning。
2、gvim 匹配单行并保存
MAC0 25 speed
MAC0 40 speed
MAC0 60 hign
MAC1 60 speed
在以上语句中:筛选包含MAC0和speed的行,并保存在filter.log文件中。
:g/MAC0.*speed/ w! >> filter.log
NOTE:
g 表示全文查找
.*表示任意个任意字符
W! 表示强制写入,没有filter.log则自行创建
>> 表示追加,匹配的数据追加写入 filter.log中
3、gvim 匹配特定连续行 并保存
以匹配特定的VCS log文件中的Lint为例,说明gvim如何匹配特定连续行,并保存
如下图所示,筛选出包含config_dma_axi_read的Lint行,保存到filter.log中
:g/Lint.*\n.*\n.*config_dma_axi_read/,+5 w! filter.log
g 表示全文查找
/Lint.*\n.*\n.*config_dma_axi_read/表示匹配行,首行有Lint,且第三行中包含config_dma_axi_read
,+5 表示保存的行范围,以匹配首行开始的连续5行。