用vi进行verilog模块例化的技巧

在编辑verilog代码时,特别在例化模块时,端口较多时,手动编辑比较费事,一般用vi中的正则表达式比较方便,举一最常用的例子,
将. clk改成. clk(clk),
命令为
:114 s/\.\(.*\)_*/\.\1(\1),/g
解释
其中114为行数;
s为字符替换符;
/为要替换的字符开始字符
\.匹配 . 字符;
\(\)为整体字符,包在它里面的所有字符可以作为一个整体,后面可以用\1代替,比如\(.*\)为所有字符串为一个整体;
.其中.代表匹配任意一个字符,代表匹配的数目为0到任意多个;
_此处代表一个空格,_*代表匹配任意多个空格,包括0个;
第二个/代表要替换成的字符开始字符;
\.同上;
\1匹配\(.*\)内的.*;
()代表匹配的括号;
,代表匹配逗号;
/g表示全局替换。
其中匹配字符串,带有下划线和数字的字符串,但不包括空格,可以用\w*就可以匹配,其中. 代表匹配任何的字符包括空格

过了很久在用上面的命令发现有问题,所以改为下面的命令

删除空行的命令:
:n1,n2g/^_*$/d,其中n1和n2为行数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容